30

2つのQHBoxLayout間のアスペクト比を維持するにはどうすればよいですか?

たとえば、QHBoxLayoutをウィンドウ幅全体の3分の1にし、もう1つをウィンドウ幅全体の3分の2にします。 ここに画像の説明を入力してください

どうすればこれを達成できますか?コントロールのサイズのヒントをいじってみましたが、うまくいきませんでした

4

4 に答える 4

36

void QSizePolicy::setHorizo​​ntalStretch(uchar stretchFactor)

例:

QHBoxLayout* layout = new QHBoxLayout(form);

QWidget* left = new QWidget(form);
QSizePolicy spLeft(QSizePolicy::Preferred, QSizePolicy::Preferred);
spLeft.setHorizontalStretch(1);
left->setSizePolicy(spLeft);
layout->addWidget(left);

QWidget* right = new QWidget(form);
QSizePolicy spRight(QSizePolicy::Preferred, QSizePolicy::Preferred);
spRight.setHorizontalStretch(2);
right->setSizePolicy(spRight);
layout->addWidget(right);
于 2013-01-28T12:01:32.213 に答える
1

ウィジェットの sizePolicy を編集して、右側のウィジェットの horizo​​ntalStretch を高く設定できます

于 2013-01-28T12:02:40.757 に答える