6

だから私は QLabel-QLineEdit ペアをうまく​​管理する QFormLayout を持っています。
問題は、次のようなことを達成する必要があることです: ここに画像の説明を入力

水平方向の境界線/タイトルは問題ありませんが、「通り」-「アパート」/「郵便番号」-「都市」のペアは問題です。

私の質問は、QLabel-QLineEdit の 2 つのペアを 1 つの行として QFromLayout に追加する方法です。

QFormLayout でそれができない場合、他のレイアウト (QGridLayout だと思います) で同じことを達成することについて何か提案はありますか?

他の言語に翻訳した後、ラベルのサイズの比率が異なる場合があることに注意してください。

前もって感謝します!

4

4 に答える 4

8

すべての応答をありがとう!

QFormLayoutのフィールドとしてQLineEdit、QLabel、およびQLineEditを含むQLabelとQHBoxLayoutをラベルとして追加することになりました。何かのようなもの:

QLabel firstLabel, secondLabel;
QLineEdit fisrtEdit, secondEdit;

QHBoxLayout hBoxLayout;
hBoxLayout.addWidget(firstEdit);
hBoxLayout.addWidget(secondLabel);
hBoxLayout.addWidget(secondEdit);

QWidget container;
container.setLayout(hBoxLayout);

myFormLayout.addRow(firstLabel, container);

トリックを行います!

また、このように複数の行を追加する場合は、すべてsecondLabelの s を 1 つの固定幅に設定する必要があります。これを行うには、すべての s を 2 回繰り返しますsecondLabel。1 回目は最大幅を見つけ、2 回目はこの幅をそれらすべてに設定します。

少しハックですが、これまでのところより良い方法を見つけることができませんでした。私の意見では、QGridLayout を使用したソリューションはさらに複雑になります。

于 2015-07-07T12:47:58.197 に答える