問題タブ [qt5.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QML コンポーネントへのキーボード ショートカットの割り当て
私は QML と Qt Creator を使用したデスクトップ アプリケーションの構築に深く取り組んでおり、現在、キーボード処理と QML 要素との連携方法を研究しています。デスクトップ ウィジェットの適切な QML 代替品がないことは既に認識しています。
私の現在の問題は、いくつかのグローバルキーボードショートカットを特定の QML コンポーネント (GUI のボタンにキーボードショートカットを割り当てるなど) に割り当てて、それらをアクティブにする必要があることです。私が管理できる最善の方法は、FocusScopes と Key Navigation を使用して、キーボードを介して GUI をナビゲートできるようにすることですが、これは同じことではありません。
このシナリオで何をすべきかを誰かが提案できますか? Qt 5 にそのような機能はありますか? インターネット上でこれに関する情報を見つけることができませんでした。
c++ - フォーカスされたウィジェットをクリックしたときのフォーカス アウト イベント
私は次の動作をしています。ウィジェット クラスのハンドラ
をオーバーロードします。focusOutEvent()
しかし、ハンドラーは、ウィジェットがフォーカスを失ったときだけでなく、ウィジェットをクリックしたときにも呼び出されます。集中力を失ってから取り戻すのと同じように。
質問 1:バグですか?
質問 2:そうでない場合、フォーカスの喪失を処理する合理的な方法はありますか? -- すべてのfocusChange()
シグナルをスロットに入れるのは魅力的に見えません。
Qt5.1を使用しています
c++ - Qt: c++ を使用した UI と xml を使用した UI と qml を使用した UI
今日qtの学習を始めましたが、質問があります。プロジェクトを作成すると、XML 形式のファイルである *.ui ファイルが付属しますが、この本では純粋な C++ (クラス) で UI を作成しているだけです。qml で UI を作成する別の方法があると聞きました。
では、UI の作成方法ごとに長所と短所を教えてください。
前もって感謝します
編集:QT 5.1.0を使用しています
c++ - Qt: CONFIG += C++11、しかし -std=c++0x
VS 2010 を使用してQt Creator 2.8 / Qt5.1でプロジェクトをコンパイルすると、すべて問題ありません。MinGW で同じことをすると、次のエラーが発生します。
C+11 を有効にする必要があることは理解していCONFIG += console c++11
ますが、.pro ファイルに含まれています。これは必要なことではありませんか?私は何を間違っていますか?
メイクを見ると、次のように表示されます。
私がproファイルでc ++ 11と言っているように、紛らわしいです。
- 最初からすべてを削除し、実行
qmake
などを行いましたが、結果はありません - 言ったように、VS2010では動作します
- ここから gcc 4.8.0 で MinGW を使用します。http://qt-project.org/downloads
- これが問題なら、Win7 32
チェック済み:
- ANSI なし: c++11 #include <thread> でコンパイル エラーが発生する
- std=c+11 MinGW: MinGWによる C++11 機能
解決策が見つかりましたが、しばらくの間しか受け入れられません: https://stackoverflow.com/a/19530028/356726
qml - QML ファイル インクルード - または 1 つのモノリシック ファイル (構造 QML コード)?
qt - QML TableViewColumnデリゲートでデータにアクセスするには?
で現在のアイテムにアクセスする方法はTableViewColumn
?
この同様の質問「QML のリストビューから currentItem のロールにアクセスするにはどうすればよいですか? 」の時点で、私はあらゆる種類の組み合わせ、、、およびのようなものを試しmodel
ました。modelData
currentItem
model.role
デリゲートを完全に削除すると、頻度が正しく表示されます。モデルは に基づいていQAbstractListModel
ます。ヒントはありますか?
ところで、デリゲートで使用できるプロパティを QML デバッグで確認できますか?
-- カカドゥのコメントに基づいて編集 --
私に与えます:ReferenceError: frequency is not defined
c++ - QML から Qt 5.1 へのシグナルの接続
qt 5.1 で qml シグナルを qt スロットに接続したいと思います。このバージョンの qt では DeclarativeView を使用できません。私のqml要素は単純な長方形で、onClickedイベントでシグナルを開始します。
このヘッダーを持つクラス SignalslotlistView があります。
};
そして.cpp
MainWindow クラスでは、接続を設定しようとしています。
ビューはタイプ QQuickView からのものです。
しかし、何も起こりません。ありがとうございました。
c++ - OpenGL 3.2: コンパイル済みシェーダーをキャッシュしますか?
OpenGL 3.2 を使用してコンパイルされたシェーダー プログラムをキャッシュする方法はありますか?
ARB_get_program_binaryを確認しましたが、ドライバーがサポートしていないことがわかりました。
できるだけ古いカードとの互換性を保ちたいので、OpenGL 4 に切り替えることは良い解決策ではありません。
私はQt5.1で作業しており、QOpenGLFunctions_3_2_Coreを使用してOpenGL関数にアクセスしています。
windows-7 - Qt5 ビルドには絶対パスがあります
チームがプロジェクトに使用する Qt5.1 ビルドをまとめています。こちらの手順を使用して、デバッグ シンボルを使用して 32 ビットおよび 64 ビットのバイナリをビルドできました。
VS2012でビルドしました。
ビルドが完了したら、bin、lib、および include フォルダーを resources フォルダーにコピーしましたが、すべて問題ありませんでした。しかし、数週間後、ビルド元のフォルダーを移動したところ、アプリケーションの実行が停止してエラーが発生しました。
これは変だと思ったので、掘り下げ始めました。私のビルドには、元のビルド ディレクトリへの参照が多数あることがわかりました。
ビルド フォルダーを以前と同じにしておくか、コンパイラーに元のディレクトリを指定することもできますが、他の人のマシンでは、ドライブ文字が同じでない場合、これが機能しない可能性があります。
絶対パスを使用しないように Qt5 をビルドする方法はありますか? そうしないと、誰もそれを配布できなくなるはずです。
qml - QMLローダーの奇妙な動作
QQuickItem で OpenGL を使用したレンダリングで問題が発生しています。
セットアップ:
アプリ ウィンドウをステータス バーと表示領域に分割しました。表示領域は、さまざまな Qt プラグインからの出力をレンダリングするために使用されます。QML Loaderオブジェクトを使用して、必要に応じてプラグインからオブジェクトを動的にロードしています。
問題:
qml example でopenglレンダリングを複製しました。表示領域に直接ロードすると、完全に機能します。ローダーを使用して表示領域にロードすると、何も表示されません。デバッグ メッセージをログに記録しましたが、確実に実行されています。GDebugger を使用してアプリをデバッグしましたが、OpenGL 呼び出しを送信しているようです。
ローダー オブジェクトはウィンドウ コンテキストを混乱させますか?
これを機能させる方法について何か提案はありますか?
ローダー オブジェクトのソースはどこかで入手できますか?