問題タブ [qtwidgets]
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.
c++ - qt-スレッドごとのUIの更新
こんにちは、スレッドによる ui の更新に問題があります。コードは正しく動作しますが、問題はウィンドウを移動したいときです。その瞬間に ui スレッドの更新が停止します。私のスレッドは、エラーを引き起こす停止したスレッドに値を送信します。これを修正する方法がわかりません。
ここに私のスレッドコードヘッダーがあります:
私のスレッド.cpp:
ここで私の mainwindow.cpp を簡単に説明します:
c++ - 動的ウィジェットで QGraphicsView の正しい位置、幅、高さを取得する方法
QVerticalLayout 内の QHorizontalLayout 内に QGraphicsView 要素があるため、画面のサイズが変更されると、graphicsview 要素も一緒にサイズ変更されます。Qt Creator では、この構造に追加する要素には、ジオメトリ データが添付されていません。Qt Creator ではグレー表示され、動的に更新されます。
ただし、c++ を介してこの graphicsView 要素のサイズを取得しようとすると、画面に表示される実際の幅と高さではなく、デフォルト値 (0,0 100x30) が返されます。この QGraphicsView 要素から正しい位置、幅、高さを取得するにはどうすればよいですか?
この問題を再現するための最小限のプログラム
次の変更を加えたデフォルトの qt ウィジェット:
メインウィンドウ.ui
メインウィンドウ.cpp
プログラムのスクリーンショット。
2 つの小さな長方形は、シーンの左上と右下で、QGraphicsView の位置とサイズに設定されています。QGraphicsView よりも小さいシーンが中央に配置されるため、シーンは中央に表示されます。これは、アプリケーションが QGraphicsView の実際のサイズを何らかの形で認識していることを意味します。これらの長方形の間の領域は 100 x 30 ピクセルで、これがデフォルト値のようです。
c++ - 派生クラスで親クラスのペイント イベントを呼び出しますか?
QDockWidget
派生クラスでは、次のようにスタイル シートのサポートを有効にします。
質問: 親クラスを呼び出すpaintEvent
必要がありますか、それとも間違っていますか (そうであれば詳しく説明してください)。元のコード例では、親関数は呼び出されていませんが、これは正しいのだろうか? そこには機能がありませんよね?
注意: 上記のコードでは、次の説明に従って派生クラスでスタイル シートを使用できます: C++ 名前空間の派生クラスの Qt スタイルシート (セレクター)
c++ - Qtデザイナー - UIを動的に生成/一意の名前を生成?
最近 Qt の学習を開始しましたが、次の問題に直面しています。
チェス盤のような sth を作成したい(空で、今のところ何もする必要はありません) - 簡単なインターフェイスを描画しましたが、途中でチェス盤自体を作成する必要があります (小さなQTextBrowser s)。
問題は、チェス盤のサイズをユーザーが指定しなければならないことです。したがって、16 個のフィールドを描画して一意のobjectNamesを指定するのは簡単ですが、次の方法がわかりません。
- それらのフィールドを「動的に」生成する
- それらに一意の名前を生成するので、後でコードなどでそれらを参照できます。field_1_1、field_1_2、field_1_3
事前に、
qt - Qt: ドロップダウン メニューのサイズ
QMenuBar内にドロップダウンメニューがあり、メニューには多くのアクションが含まれています。これらのアクションのサイズを大きくするにはどうすればよいですか?
ドロップダウン メニューを視覚的に大きく表示するのはどれですか?
c++ - メインフォームをブロックせずにダイアログを作成するには?
今のところ、私はできる:
メインウィンドウをブロックしないように別のスレッドで使用async
/実行する必要がありますか、またはそこにあるオブジェクトを閉じて削除/解放するためにサブスクライブする方法はありますか?
c++ - Qt - GridLayout 内の QTextBrowser のテキストを変更します
でQGridLayout
いっぱいQTextBrowser's
です。
を使用してそれらにアクセスしているitemAtPosition(i,j)
ので、たとえばできます。を使用して背景に変更しますwidget()->setStyleSheet
。
これらのフィールド内のテキストを変更する方法はありますか?
c++ - カスタム ウィジェットのフロート タイプの Q_PROPERTY がプロパティ エディタに表示されない
私はカスタム ウィジェットに取り組んでおり、float 型のプロパティを作成したいと考えていました。残念ながら、Qt Creator はこれらの float 型のプロパティのファンではないようで、プロパティ エディターに表示されていません。他のすべてのプロパティ (int、bool、QString) は正常に機能します。プロパティを宣言する方法の例を次に示します。
ヘッダー ファイル内:
そしてソースファイルで:
フロートをウィジェットのプロパティに使用する前に、何か特別なことをする必要がありますか?