Как добавить полосу прокрутки в QMainWindow, в котором есть один центральный виджет? - PullRequest
2 голосов
/ 25 июня 2010

Как добавить полосу прокрутки к QMainWindow, если этот QMainWindow содержит только один центральный виджет, который больше, чем QMainWindow размер?

Так что полоса прокрутки может использоваться для просмотра различных частей этого центрального виджета.

Ответы [ 2 ]

4 голосов
/ 25 июня 2010

Установите центральный виджет вашего QMainWindow на QScrollArea, а затем установите виджет , который новый QScrollArea, на виджет, который ранее был вашим центральным виджетом.

Не забудьте установить для свойства «изменяемого размера виджета» QScrollArea значение true.

0 голосов
/ 25 сентября 2017

По какой-то причине дочерний виджет вообще не отображался бы, если бы это был QWidget с макетом. Работало только после звонка setWidgetResizable(true).

auto mainWidget = new QWidget();
auto scrollArea = new QScrollArea();
scrollArea->setWidget(mainWidget);
scrollArea->setWidgetResizable(true);
setCentralWidget(scrollArea);
resize(1470, 900);

QHBoxLayout* mainLayout = new QHBoxLayout(mainWidget);
...
...