問題タブ [qlayout]
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 では、それぞれ 33% の 3 列のレイアウトを設定するにはどうすればよいですか?
私は 3 列のレイアウトを持っており、3 つの流体列を 33% に設定するための解決策を見つけるのに苦労しています。
qt - スクロール領域を使用すると Qt メニューバーが消える
垂直スクロールバーを実装したい。このためのレイアウト (添付の layouts.jpg を参照) と、スクロール エリア (以下のコードのスニペットを参照) を実装しました。それでも、実行すると、ウィンドウにメニューバーがありません。ここで何が欠けていますか?Qtデザイナーとコードを介してメニューバーとサブメニューを追加しようとしましたが、ウィンドウにメニューバーが表示されません。
スクロール領域のスニペットを使用すると、スクロールバーを使用できますが、メニューバーが表示されません。ただし、スクロール領域のスニペットをコメントアウトすると、メニューバーは表示されますが、スクロールバーが失われます。両方必要です。これを解決するには?
コードは次のとおりです。 - mainwindow.h
メインウィンドウ.cpp
main.cpp
c++ - Qt Designer で Qt の例の Borderlayout を使用するにはどうすればよいですか?
私は Qt を初めて使用し、Qt Designer とソース コードの関係をまだ完全には把握していません。Borderlayoutの例を実装し、それを使用して Qt Designer で UI をデザインしたいのですが、方法がわかりません。Qt 5.3 と C++ を使用しています。
c++ - Qtでこの設計上の障害に取り組む方法は?
左側にいくつかのオプションがあるフォームを描画する必要があります。これを次の図に示します。
これで、ユーザーが をクリックするOptionA
と、関連する別のレイアウトが右側に表示されます。ユーザーが をクリックするOptionB
と、別の関連するレイアウトが右側に表示されます。
このようなタイプの問題に対する私の現在の設計アプローチは次のとおりです。
2 つのフレームを持つ水平レイアウトのフォームを作成します。1 つのフレームにはオプションがあり、もう 1 つのフレームには他のフォームがホストされます。したがって、私の場合optionA
、別のフォーム (formA など)OptionB
があり、独自のフォーム (formB など) があり、独自のフォーム (formC など)OptionC
があります。
ユーザーがformA をクリックすると、FrameHost 内に表示されます。OptionA
同様に、ユーザーが をクリックするとOptionC
、formC が FrameHost 内に表示されます。私の質問は、これが各オプションに独立した形式を与える良いアプローチであるかどうかです?
私のもう1つの考えは反対で、すべてのフォーム(A、B、C)のレイアウトを1つのフォーム内の別のフレーム内に配置し、ユーザーOptionA
がFormAコンテンツを持つフレームをクリックすると、他のコンテンツが非表示になります。したがって、一度に 1 つのフレームが表示されます。この種の問題に取り組むための最良のアプローチは何でしょうか?
c++ - カスタム ウィジェットをレイアウトに表示する
カスタム ウィジェットをレイアウトに配置し、これを別のウィジェットに表示したいと考えています。ウィジェットを 2 番目の (コンテナー) ウィジェットの子として配置すると問題なく動作しますが、2 番目の (コンテナー) ウィジェットのレイアウトに配置すると失敗します。それを説明する簡単な例を作成しました。
ヘッダ
ソース
例の要約:
このような構造を使用すると、すべて問題ありません:
構築が次のように見える場合、何も起こりません。
カスタムのサブクラス化されたウィジェットをレイアウトに配置する適切な方法はありますか?
qt - QPushButtons 50px で QVBoxLayout を一番上に移動するには?
複数の QPushButtons 50px を含む QVBoxLayout を一番上に移動するにはどうすればよいですか?
これは私のコードです。this->adjustSize()、this->repaint()を試しましたが動きません。
qt - 親コンテナではなく、QGridLayout のセルにスタイル シートが適用されます。
QWidget を継承して、TaskBox という名前のクラスを作成しました。
TaskBox に QGridLayout を適用しました。
レイアウトは複数の QLabels で構成されています。
スタイル シートを設定して、TaskBox の背景色を変更しました。
次のようになります。
これは私が欲しいもので、私はそれに満足しています。
問題は、TaskBox クラスに Q_OBJECT マクロを追加したいということです。(シグナルとスロットを使用する必要があるため)
Q_OBJECT マクロを追加すると、TaskBox オブジェクトは次のようになります。
スタイル シートが QGridLayout のセルに分割されているようです。
ここに私の TaskBox クラスがあります:
何が起こっているのか理解できません。
ご協力いただきありがとうございます。