изменить размер qwidget в макете вручную во время выполнения - PullRequest
4 голосов
/ 22 января 2010

У меня есть QVBoxLayout с несколькими виджетами в нем (QTableViews). Теперь все эти QTableViews имеют одинаковый размер. Что я могу сделать, чтобы пользователь мог изменить размер одного QTableView во время выполнения (чтобы 1 QTableView был больше, чем другой)? Может быть, с "сепаратором", который вы можете изменить с помощью мыши?

1 Ответ

6 голосов
/ 22 января 2010

Используйте 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);
...