Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: qtshnik от Апрель 25, 2013, 18:22



Название: Восстановление tabwidget'ов работает неодинаково в разных версиях Qt
Отправлено: qtshnik от Апрель 25, 2013, 18:22
Столкнулся с такой непонятной проблемой. Пытаюсь сохранять размеры и взаимное расположение окон (табов) в QMainWindow между запусками приложения. Делаю все как в официальной документации сказано, через функции restoreGeometry, restoreState и класс QSettings. При этом работает не всегда правильно! Неправильность заключается в том, что общий размер окна приложения остается таким же, а вот размеры подокон (табов) куда-то сдвигаются по непонятным законам. Все правильно только в версии 4.6.0 (коммерческая), а стоит мне пересобрать на 4.7.4 или 4.8.3 (open source), как неправильность проявляется. Еще добавлю, что показ (и ассоциированное с ним создание) виджета в табе и скрытие его присходят по статусу кнопки, вынесенной в меню: кнопка нажата -> создается виджет и показывается в табе, кнопка отпущена -> виджет не создается и таб не показывается.


Название: Re: Восстановление tabwidget'ов работает неодинаково в разных версиях Qt
Отправлено: qtshnik от Апрель 25, 2013, 18:52
Еще можно добавить. Неправильность возникает когда приложение до закрытия открыто на весь экран. Тогда после повторного открытия табы, которые были вверху центрального виджета, "жмутся" к верху, а те, что ниже - "жмутся" к низу. Если же приложение хоть на пару пикселов не дотягивало до полного экрана, то все нормально!


Название: Re: Восстановление tabwidget'ов работает неодинаково в разных версиях Qt
Отправлено: Bepec от Апрель 25, 2013, 18:53
Таки надо смотреть и тестить. Сам ничего не скажу - я по версиям скакать не могу себе позволить :)


Название: Re: Восстановление tabwidget'ов работает неодинаково в разных версиях Qt
Отправлено: thechicho от Апрель 28, 2013, 18:28
http://qt-project.org/doc/qt-4.8/layout.html