問題タブ [qtquickcontrols]
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 - Qt Quick でスケーラブルな光沢のあるボタンを作成する
以下の光沢のあるボタンを Qt Quick で作成したいと思います (できれば純粋な QML を使用し、C++ を使用しません)。
スケーラブルである必要があるため、PNG などは使用できません。
これまでの私のコード:
2 つの問題があります。
- カーブした輝きのエフェクトを作成する方法がわかりません。
- シャインの下にテキストを配置する必要がありますが、現在はその上にあります。
qt - QtQuick - ボタンの onClick イベント
裏話
そのため、最近 Qt を試してみることにしました。QtQuick アプリケーションの作成を開始しました。私のデザイナー ビューには、1 つのボタンとマウス領域があります。
私がしたいこと:
ボタンをクリックすると、テキスト (「Hello World」など) を含むメッセージ ボックスを表示したいと考えています。
私の質問
どうやってやるの ?
追加情報
私はそれをグーグルで試しました、私はこの答えに従ってみました。しかし、まだ何もありません。私は .Net (C# と VB) でプログラミングする方法を知っています。C/C++ についてある程度の知識はありますが、Qt は私にとって難しいようです
qml - TableView でのデータの自動更新と QSqlTableModel でのすべての変更の追跡
このTableViewのモデルとしてTableViewとQSqlTableModelがあります。ここに書かれている通りに接続しました(2番目の方法)。
TableView がそのビュー (データ) を自動的に更新することを望みます (モデルに何かが挿入/更新/削除されたとき)。どうすればいいですか?
QSqlTableModel のすべての変更 (挿入/更新/削除) を 1 つのシグナルで追跡できますか? はい、おそらく、rowsInserted、rowsModed、rowsRemoved シグナルを確認できますが、どのような種類の変更に対しても 1 つのシグナルが存在する可能性がありますか?
qt - 多くの Windows または複雑な UI を備えた Qt 5 QML アプリ
QtQuick 2 では、QtQuick コントロールを使用して複雑なデスクトップ アプリを作成できます。ただし、アプリの開始時にUI全体を宣言して一度に作成する必要があるようです。まだ使用したくない部分 (たとえば、[ファイル] -> [開く] ダイアログ) は作成する必要がありますが、次のように非表示になっています。
さて、これは単純なアプリでは問題ないかもしれませんが、複雑なアプリや多くのダイアログを持つアプリでは、これは確かにクレイジーなことですか? 従来の QtWidgets モデルでは、必要に応じて動的にダイアログを作成していました。
これにはいくつかの回避策があることを知っています。たとえばLoader
、JavaScript で直接 QML オブジェクトを使用したり、動的に作成したりすることもできますが、それらは非常に醜く、優れた QML 構文の利点をすべて失います。また、コンポーネントを実際に「アンロード」することはできません。できるとよくLoader
言っていますが、試してみたらアプリがクラッシュしました。
この問題に対するエレガントな解決策はありますか? それとも、単に弾丸をかじって、アプリのすべての潜在的な UI を一度に作成してから、そのほとんどを非表示にする必要がありますか?
注:このページには、これを回避するための s の使用に関する情報がありますが、ご覧のとおり、これLoader
はあまり良い解決策ではありません。
編集 1 - Loader が最適ではないのはなぜですか?
わかりました、なぜLoader
それほど楽しくないのかを示すために、複雑なタスクを開始して結果を待つこの例を考えてみてください。人々が通常与える些細な例とは異なり、タスクには多くの入力といくつかの出力があるとします。
これがLoader
解決策です:
なしでそれを行っていた場合Loader
、次のようなものになる可能性があります。
それは明らかにずっと簡単です。私が明確に望んでいるのは、が true に設定されているComplexTask
ときに をロードして宣言的な関係をすべてアクティブにし、が false に設定されてcomponentLoaded
いるときに関係を切断してコンポーネントをアンロードするcomponentLoaded
方法です。現在、Qt でこのようなものを作成する方法はないと確信しています。
qt - タブに動的にロードされたQMLファイルは、タブが表示されている場合にのみ実行されます
動的に経由でを作成Tab
していますTabView
ただし、それ自体をクリックする前に、それらのコードは実行されませんTab
。どうすればこれを解決できますか?
qt - BusyIndicator が表示されない
BusyIndicator
長いプロセスが進行中であることを示したいと思います。問題は、実行しても表示されず、後でプロセスが完了すると表示されることです。ドキュメントによると
ビジー インジケーターは、コンテンツが読み込まれている間、またはリソースが利用可能になるのを待って UI がブロックされている間のアクティビティを示すために使用する必要があります。
元のコードに基づいた最小限のコードを作成しました
をクリックすると、計算が完了するまでの時間Rectangle
を表示したいと思います。BusyIndicator
例として、ここでは for ループを使用しました。実際のシナリオでは、関数 (データベースに約 1000 行を挿入する) をContextProperty
. ただし、その場合もBusyIndicator
は表示されません。
私はそれを正しい方法でやっていますか?または、それを行うための最良の方法は何でしょうか?
qt - qmlコントロールボタンを埋める画像を作成する方法
アイコンを塗りつぶしたいButton
。コードは次のとおりです。
ボタンのサイズは 100*100 ピクセルですが、画像のサイズははるかに小さくなっています。画像をボタンと同じ大きさにする方法
opengl - Qt Quick / New Open GL API - OSX などの透過パネル
私の質問は概念的にこの質問に似ています。しかし、QWidget
Qt の新しい Open GL ( QWindow
) API について質問している間、その質問は古い API を対象としています。
QWindow
では、パネル、特にQtQuick
を使用するアプリケーションの透過性を有効にするにはどうすればよいQtQuick.Controls
ですか?