我有一个继承自QMainWindow的Qt类。该类的构造函数创建两个小部件,这些小部件将添加到水平布局对象中,如下所示:
MyWindow::MyWindow()
{
resize(QDesktopWidget().availableGeometry(this).size());
display = new MyWidget(this);
display->setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Expanding);
current = new MyWidget(this);
current->setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Expanding);
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(display);
layout->addWidget(current);
QFrame* frame = new QFrame();
frame->setFrameShape(QFrame::StyledPanel);
frame->setLayout(layout);
setCentralWidget(frame);
show();
}
这显示了彼此侧面的小部件侧。但是,我想要做的是让其中一个小部件占据水平空间的30%,而另一个小部件占据另外70%的水平空间。如果调整主窗口大小但保持这些比率,我也希望小部件能够扩展或收缩。
答案 0 :(得分:1)
将小部件放入布局时,您可以指定其拉伸系数:
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(display, 3);
layout->addWidget(current, 7);