如何在两个QHBoxLayouts之间保持长宽比?

例如,我希望QHBoxLayout为整个窗口宽度的三分之一,而另一个为整个窗口宽度的三分之二:

我该如何实现?我试着弄乱了控件中的尺寸提示,但没有成功

最佳答案

void QSizePolicy::setHorizontalStretch(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);

08-16 07:19