У меня есть окно, содержащее QScrollArea
с изображением пары виджетов.Qt: Как изменить размер окна до его нового содержимого
До сих пор я создавал QScrollArea
и его дочерние виджеты в конструкторе моего окна, а затем менял размер окна по вертикали, чтобы соответствовать его контенту, используя resize(400, sizeHint().height())
. Все идет нормально.
Теперь я добавляю или удаляю виджеты в QScrollArea
во время выполнения. Что делать, добавив или удалив виджеты, чтобы окно соответствовало его содержимому по вертикали? Должен ли я позвонить adjustSize()
? resize(sizeHint())
? Должен ли быть звонок до layout->activate()
или, может быть, updateGeometry()
? Какая политика размера действительно имеет значение в этом случае? Окна, или область прокрутки, или и то, и другое? Я попытался установить их все на Expanding
.
Я использую Qt 4.6 для Windows.
Хотите, чтобы у QScrollArea не было полос прокрутки? –
Абсолютно, прямо сейчас идея состоит в том, чтобы избавиться от вертикальной полосы прокрутки. Следующий шаг будет состоять в том, чтобы позволить ему появляться только в том случае, если общая высота содержимого QScrollArea действительно слишком велика или пользователь изменяет размер окна. –