問題タブ [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.

0 投票する
1 に答える
190 参照

c++ - Qt では、それぞれ 33% の 3 列のレイアウトを設定するにはどうすればよいですか?

私は 3 列のレイアウトを持っており、3 つの流体列を 33% に設定するための解決策を見つけるのに苦労しています。

0 投票する
0 に答える
222 参照

qt - スクロール領域を使用すると Qt メニューバーが消える

垂直スクロールバーを実装したい。このためのレイアウト (添付の layouts.jpg を参照) と、スクロール エリア (以下のコードのスニペットを参照) を実装しました。それでも、実行すると、ウィンドウにメニューバーがありません。ここで何が欠けていますか?Qtデザイナーとコードを介してメニューバーとサブメニューを追加しようとしましたが、ウィンドウにメニューバーが表示されません。

スクロール領域のスニペットを使用すると、スクロールバーを使用できますが、メニューバーが表示されません。ただし、スクロール領域のスニペットをコメントアウトすると、メニューバーは表示されますが、スクロールバーが失われます。両方必要です。これを解決するには?

レイアウト.JPG

コードは次のとおりです。 - mainwindow.h

メインウィンドウ.cpp

main.cpp

0 投票する
1 に答える
463 参照

c++ - Qt Designer で Qt の例の Borderlayout を使用するにはどうすればよいですか?

私は Qt を初めて使用し、Qt Designer とソース コードの関係をまだ完全には把握していません。Borderlayoutの例を実装し、それを使用して Qt Designer で UI をデザインしたいのですが、方法がわかりません。Qt 5.3 と C++ を使用しています。

0 投票する
1 に答える
54 参照

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 つのフレームが表示されます。この種の問題に取り組むための最良のアプローチは何でしょうか?

0 投票する
2 に答える
195 参照

c++ - カスタム ウィジェットをレイアウトに表示する

カスタム ウィジェットをレイアウトに配置し、これを別のウィジェットに表示したいと考えています。ウィジェットを 2 番目の (コンテナー) ウィジェットの子として配置すると問題なく動作しますが、2 番目の (コンテナー) ウィジェットのレイアウトに配置すると失敗します。それを説明する簡単な例を作成しました。

ヘッダ

ソース

例の要約:

このような構造を使用すると、すべて問題ありません:

構築が次のように見える場合、何も起こりません。

カスタムのサブクラス化されたウィジェットをレイアウトに配置する適切な方法はありますか?

0 投票する
1 に答える
972 参照

qt - QPushButtons 50px で QVBoxLayout を一番上に移動するには?

複数の QPushButtons 50px を含む QVBoxLayout を一番上に移動するにはどうすればよいですか?

これは私のコードです。this->adjustSize()、this->repaint()を試しましたが動きません。

0 投票する
2 に答える
3106 参照

qt - 親コンテナではなく、QGridLayout のセルにスタイル シートが適用されます。

QWidget を継承して、TaskBox という名前のクラスを作成しました。
TaskBox に QGridLayout を適用しました。
レイアウトは複数の QLabels で構成されています。

スタイル シートを設定して、TaskBox の背景色を変更しました。
次のようになります。

ここに画像の説明を入力

これは私が欲しいもので、私はそれに満足しています。

問題は、TaskBox クラスに Q_OBJECT マクロを追加したいということです。(シグナルとスロットを使用する必要があるため)

Q_OBJECT マクロを追加すると、TaskBox オブジェクトは次のようになります。

ここに画像の説明を入力

スタイル シートが QGridLayout のセルに分割されているようです。

ここに私の TaskBox クラスがあります:

何が起こっているのか理解できません。
ご協力いただきありがとうございます。