2014-02-11 3 views
3

Как разместить пользовательский виджет с фиксированным размером в центре QScrollArea?Разместите виджет в центре QScrollArea

Я могу разместить виджет вручную внутри QScrollArea с помощью myWidget.pos (x, y), но в QScrollArea отсутствует сигнал с переменными размерами, поэтому эта позиция будет неправильной, если изменится область прокрутки.

+0

Что вы пытаетесь сделать? – thuga

+0

Я думаю, что создание виджета в центре области прокрутки пренебрегает значением возможностей прокрутки области прокрутки. Может быть, вы можете вместо этого использовать что-то другое? – vahancho

+0

Я использую QScrollArea для отображения единого виджета, скажем, холста для рисования. И у этого холста есть возможности масштабирования, поэтому он может быть меньше, чем viewport или больше, конечно. Итак, QScrollArea помещает маленького ребенка в верхний левый угол, и он выглядит уродливым. – folibis

ответ

0

Я использовал предложение @ thuga, чтобы установить выравнивание, но дополнительно мне пришлось установить фиксированный размер для виджета (раньше у меня были настройки только минимального размера), а также мне нужно было использовать горизонтальную компоновку вместо вертикальный. По какой-то причине вертикальная компоновка игнорирует горизонтальное выравнивание области прокрутки.

Я использовал setFixedSize(), чтобы установить фиксированный размер для моего пользовательского виджета, но макет и выравнивание можно установить из Qt Designer.

Смежные вопросы