我正在尝试用四个小部件设置一个QGridLayout,如下图所示:

但是,到目前为止,我使用QGridLayout的方法是:

我不知道如何为第0列和第1列设置不同的行大小,也许QGridLayout不是正确的方法,但我不知道还有其他小部件能做到这一点。有没有人知道如何做到这一点?
发布于 2014-06-27 08:34:24
我会使用垂直和水平布局,而不是网格布局。所以你需要两种垂直布局和水平布局:
// Left side
QLabel *lbl1 = new QLabel(this);
QTableWidget *t = new QTableWidget(this);
QVBoxLayout *vl1 = new QVBoxLayout;
vl1->addWidget(lbl1);
vl1->addWidget(t);
// Right side
// QImage is not a widget, so it should be a label with image
QLabel *lbl2 = new QLabel(this);
QCustomPlot *pl = new QCustomPlot(this);
QVBoxLayout *vl2 = new QVBoxLayout;
vl2->addWidget(lbl2);
vl2->addWidget(pl);
// Create and set the main layout
QHBoxLayout mainLayout = new QHBoxLayout(this);
mainLayout->addLayout(vl1);
mainLayout->addLayout(vl2);发布于 2014-06-27 08:34:37
我不认为网格是通往这里的路。
您可以尝试制作一个2 QFrames的水平布局,其中设置一个垂直布局,每个布局都带有该“列”的两个小部件。
https://stackoverflow.com/questions/24447295
复制相似问题