在运行时手动调整布局中的qwidget

时间:2010-01-22 00:50:03

标签: qt layout qt4

我有一个QVBoxLayout,里面有几个小部件(QTableViews)。现在这些QTableViews都具有相同的尺寸。我能做些什么,用户可以在运行时更改一个QTableView的大小(这样1个QTableView比另一个大)?也许用“分离器”可以用鼠标改变它?

1 个答案:

答案 0 :(得分:6)

使用QSplitter:http://doc.qt.digia.com/4.6/qsplitter.html

如果您有此代码:

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(table1);
layout->addWidget(table2);
layout->addWidget(table3);
setLayout(layout);

您应该可以将其更改为:

QSplitter *splitter = new QSplitter;
splitter->addWidget(table1);
splitter->addWidget(table2);
splitter->addWidget(table3);
splitter->setOrientation(Qt::Vertical);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(splitter);
setLayout(layout);