Название: [РЕШЕНО] Еще раз о динамическом изменении размера виджета Отправлено: sergek от Сентябрь 29, 2013, 22:20 Коллеги,
форма создается в дизайнере, на ней размещаются фреймы фиксированного размера и компонуются по вертикали. Видимость фреймов устанавливается в процессе выполнения. Размер формы устанавливается по размеру видимых фреймов перед отображением формы. Примерно так: Код: ... Это заметно, когда количество видимых фреймов уменьшается по сравнению с предыдущим вызовом. Если установку размера сделать после отображения: Код: show(); Подскажите, как заставить работать первый вариант, или как убрать это моргание? Если честно, задолбали эти компоновщики... ??? UPD: нашел подобный вопрос аж в 2005 году - http://www.prog.org.ru/index.php?topic=1262.msg4685#msg4685 (http://www.prog.org.ru/index.php?topic=1262.msg4685#msg4685) Название: Re: Еще раз о динамическом изменении размера виджета Отправлено: gil9red от Сентябрь 29, 2013, 23:19 UPD: нашел подобный вопрос аж в 2005 году - http://www.prog.org.ru/index.php?topic=1262.msg4685#msg4685 (http://www.prog.org.ru/index.php?topic=1262.msg4685#msg4685) И в той же теме аж в 2005 году дали ответ как решить вопрос :)http://www.prog.org.ru/index.php?topic=1262.msg4730#msg4730 Название: Re: Еще раз о динамическом изменении размера виджета Отправлено: sergek от Сентябрь 30, 2013, 08:18 А как это решает означенную проблему, тем более, мою - с формой, созданной в дизайнере?
Название: Re: Еще раз о динамическом изменении размера виджета Отправлено: sergek от Сентябрь 30, 2013, 10:28 Решил сделать пример (см. вложение) и обнаружил, что, если форму сделать на основе QDialog, то adjustSize() отрабатывает хорошо, даже без processEvents(). Если фреймы расположить на форме, сделанной на основе QMainWindow, наблюдается описанный эффект - форма не изменяет свой размер по размерам оставшихся видимыми фреймов. Догадываюсь, что это связано, видимо, с разной обработкой событий, но уже не хочется копать.
Если кто сможет это объяснить, буду благодарен, а тему закрываю. |