QGridLayout具有不同大小的单元格

时间:2014-06-27 08:27:00

标签: c++ qt grid

我尝试使用四个小部件设置QGridLayout,如下图所示:Goal

然而,我目前使用QGridLayout管理的是:Current situation

我不知道如何为第0列和第1列设置不同行的大小。也许QGridLayout不是正确的方法,但我不知道任何其他小部件会做的伎俩。 有谁知道如何实现这个目标?

2 个答案:

答案 0 :(得分:3)

我会使用垂直和水平布局而不是网格布局。所以你需要两个垂直布局和水平布局:

// 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);

答案 1 :(得分:2)

我不认为网格确实是去这里的方式......

您可以尝试制作2个QFrame的水平布局,在其中设置垂直布局,每个布局都包含该“列”的两个小部件