Qt Tips
Qt Code
QtCreatorやQtアプリケーションで日本語入力する
sudo apt-get install fcitx-libs-qt5/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/内の/libfcitxplatforminputcontextplugin.soを
/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/と
/[version]/gcc_64/plugins/platforminputcontexts/にそれぞれコピー
デバッグログに出力
qDebug() << "Hello World";
>>Hello World
int num = 50;
qDebug() << "Number is" << num;
>>Number is 50
基本的な変数であれば直接表示してくれる>>Hello World
int num = 50;
qDebug() << "Number is" << num;
>>Number is 50
カーソル位置に対象のウィジェットがあるか判定する関数
bool MainWindow::isTarget(QWidget *wid)
{
if (!wid->isVisible())
return false;
return wid->rect().contains(wid->mapFromGlobal(QCursor::pos()));
}
EventFilterの引数にある*QObjectでは
マウスカーソル位置のウィジェットを取得するので{
if (!wid->isVisible())
return false;
return wid->rect().contains(wid->mapFromGlobal(QCursor::pos()));
}
対象のウィジェット内にカーソルがあるか判定したい時はこっち
connect()やQTimer::singleShot()で変数を渡す
QString str = "OK";
QTimer::singleShot(3000,[=](){ qDebug() << str; });
After 3sec >>OK
connect(pushButton,&QPushButton::clicked,[=](){
qDebug() << str;
});
pushButton_clicked >>OK
connectで使う場合はSIGNAL()を使用しないので注意
QTimer::singleShot(3000,[=](){ qDebug() << str; });
After 3sec >>OK
connect(pushButton,&QPushButton::clicked,[=](){
qDebug() << str;
});
pushButton_clicked >>OK
QMenuの表示と選択された項目の取得
QMenu menu;
menu.addAction("Hello");
menu.addAction("world");
QAction *copyAct = menu.exec(QCursor::pos());
if (copyAct)
qDebug() << copyAct->text();
Select First >>Hello
menu.addAction("Hello");
menu.addAction("world");
QAction *copyAct = menu.exec(QCursor::pos());
if (copyAct)
qDebug() << copyAct->text();
Select First >>Hello
QWebEngineViewでAmazonVideoを再生する方法
大前提としてh264を再生できる事をチェックその上で使用中のQtWebEngineが使っているChromiumのバージョンを確認
それと同じバージョンのChromeから
libwidevinecdm.so libwidevinecdmadapter.so
の2つのファイルをQtディレクトリ下/plugins/ppapi/に置く
デフォルトでは/usr/lib/qt/plugins/ppapi/
ChromiumとWidevineのバージョンを合わせる事が鍵?
QWebEngineViewでh264の動画を再生する方法Old
QWebEngineViewでAdBlockやuBlockの真似事
QWebEngineUrlRequestInterceptorをカスタムクラス化しQWebEngineProfile::defaultProfile()->setRequestInterceptor(interceptor);
として登録
その上でinerceptorのinterceptRequest(QWebEngineUrlRequestInfo &info)を定義
あとはinfo.block(true)をすればブロックできる
コメント
コメントを投稿