Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [РЕШЕНО]minimumSize==0 if visible==false или как сделать виджет свсем не видимым
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
greh
На главном виджете есть 2 виджета, которые должны полностью скрываться. setvisible(false) действительно делает их не видимыми но они по прежнему занимают определённое место т.к. в них тоже есть виджеты. В итоге resize(minimumsize()) не даёт нужного эффекта. Теперь наглядно:



"Состояние 3" должно быть эквивалентно "Состоянию 1". Аналогично с кнопкой расписание....

Эксперименты с minimumSizeHint не привели ни к чему хорошему.

StudentWidget на SourceForge.net тут есть бинарики для того чтобы просто посмотреть и исходники для тех кто желает помочь. Парралельно хочу пригласить вас поучавствовать в этом проекте.
breeve
а просто сделать resize() нельзя? подобрать размер и уменьшить при 3 состоянии.
Obey-Kun
Идеологически лучше делать резиновые виджеты. Юзер сам должен выбирать, какой ширины окно должно быть. Погуглите руководства по HIG.
greh
Цитата(breeve @ 1.2.2011, 19:34) *
а просто сделать resize() нельзя? подобрать размер и уменьшить при 3 состоянии.


Не помогает.


Цитата(Obey-Kun @ 1.2.2011, 19:35) *
Идеологически лучше делать резиновые виджеты. Юзер сам должен выбирать, какой ширины окно должно быть. Погуглите руководства по HIG.


Я сделал так чтобы при любом изменении виджет стремился занимать как можно меньше места. А юзерам которые будут им посльзоваться(возможно) всё равно. "Тестовая группа" приняла данное решение на ура.
igor_bogomolov
greh, попробуй после перехода в третье состояние сделать
layout()->activate(); // по идее это должно заставить компоновщик пересчитать геометрию формы
resize(minimumSizeHint());



greh
Цитата(igor_bogomolov @ 1.2.2011, 20:18) *
greh, попробуй после перехода в третье состояние сделать
layout()->activate(); // по идее это должно заставить компоновщик пересчитать геометрию формы
resize(minimumSizeHint());


ДА! Огромнейшее спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.