Qt4 Designer Preview Изменение размера - PullRequest
1 голос
/ 13 июля 2011

У меня есть производное диалоговое окно QDialog, размеченное так, как я хочу, и изменение его размера так, как я хочу, с проблемой, что предварительный просмотр начинается с размера, большего, чем он должен.В конструкторе окно сокращается до наименьшего возможного размера с учетом политик и подсказок всего, что содержится в нем, но в режиме предварительного просмотра (и в реальном коде, который я тогда предполагаю) оно становится больше, чем я хочу.Затем я могу изменить его размер до минимального размера, как это выглядит в конструкторе, но мне интересно, откуда берется дополнительное пространство.Вот несколько иллюстраций для иллюстрации, если этого недостаточно, я могу опубликовать файл пользовательского интерфейса или что-нибудь еще.

Размер по умолчанию для предварительного просмотра

enter image description here

Минимальный размер предварительного просмотра послеизменение размера

enter image description here

Ответы [ 3 ]

0 голосов
/ 13 июля 2011

Позвоните resize(0, 0) для вашего диалогового виджета после того, как вы инициализировали пользовательский интерфейс.Это установит минимальный размер виджета.

Вы также используете слишком много проставок.Я думаю, что все вертикальные распорки, кроме самой левой, должны быть удалены.Большинство горизонтальных проставок также не нужны.

0 голосов
/ 14 июля 2011

@ Року, это тоже не сработало, и я избавился от нескольких проставок, но остальные все служат цели.Я просто написал пользовательский интерфейс вручную, и он работал без проблем.Я не уверен, что все, что Designer добавляет к своему исходному коду, который мешал моей компоновке, я не мог найти никаких очевидных оскорбителей, просматривающих его.

Это был мой первый настоящий опыт использования Designer, и хотяэто хорошо для быстрых макетов, кажется очень хрупким.Случайное перемещение виджетов или макетов нарушает всю политику размеров, которую вы настроили, например, даже после отмены действий.И, наконец, мне не потребовалось намного больше времени, чтобы сделать это вручную, чем использовать Designer, и вам не нужно мириться с беспорядочными хлопотами, связанными с интеграцией в ваш код или попыткой отследить неожиданное поведение.Итак, -1 для дизайнера здесь.

Вот как это получилось http://i.stack.imgur.com/UVrFG.png

0 голосов
/ 13 июля 2011

Вы пытались установить политику размера по вертикали и горизонтали в диалоге на QSizePolicy::MinimumExpanding?

...