WedX - журнал о программировании и компьютерных науках

Предварительный просмотр дизайнера Qt4 Изменение размера

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

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

введите здесь описание изображения

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

введите здесь описание изображения


  • Кроме того, макет в дизайнере, так как я не могу размещать изображения или более 2 ссылок в одном сообщении: i.stack.imgur.com/cclOP.png 13.07.2011

Ответы:


1

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

12.07.2011
  • Да, ничего не меняет, что сбивает с толку. 13.07.2011
  • У меня было несколько раз, когда я играл с довольно загруженным макетом пользовательского интерфейса, обнаруживал, что он ведет себя неправильно, и никогда не мог вернуть его к надлежащей функциональности, пока не разорвал его на части и не перезапустил с нуля. Можете ли вы создать вторую минимальную форму с поведением, которое вы хотите, просто чтобы убедиться, что то, что вы хотите, будет работать? 13.07.2011

  • 2

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

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

    13.07.2011

    3

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

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

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

    13.07.2011
    Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]