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

Ber*_*chi 4 layout qt qt4

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

Col*_*lin 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);
Run Code Online (Sandbox Code Playgroud)

您应该可以将其更改为:

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);
Run Code Online (Sandbox Code Playgroud)