Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: frostyland от Ноября 18, 2010, 18:48



Название: [РЕШЕНО] А как бы сохранить размеры Dock-панелей?
Отправлено: frostyland от Ноября 18, 2010, 18:48
Приветствую.
Геометрия и состояние формы сохраняются мега-функциями
Код
C++ (Qt)
saveGeometry()
saveState()
 
Но при этом не сохраняются размеры Docking-панелей.
Более того, плавающая Dock-панель при докинге становиться какого-то хлипкого размера.
Это как-то правится?
====================================
Решение

Дело оказалось в последовательности восстанавливаемых свойств

У меня сначала восстанавливалас геометрия а потом стиль приложения
Код
C++ (Qt)
   if(m_settings){
       restoreGeometry(m_settings->value("MainWindow/geometry").toByteArray());
       restoreState(m_settings->value("MainWindow/windowState").toByteArray());
 
       QString strStyle = m_settings->value("Application/style", tr(AUTO_APP_STYLE)).toString();
       changeAppStyle(strStyle);
   }
 

Когда я поменял их местами, все стало востанавливаться, как надо.
Код
C++ (Qt)
   if(m_settings){
       QString strStyle = m_settings->value("Application/style", tr(AUTO_APP_STYLE)).toString();
       changeAppStyle(strStyle);
 
       restoreGeometry(m_settings->value("MainWindow/geometry").toByteArray());
       restoreState(m_settings->value("MainWindow/windowState").toByteArray());
   }
 

Есть какая-то зависимость, разбираться некогда.
Да, и еще, m_settings у меня в формате QSettings::IniFormat





Название: Re: А как бы сохранить размеры Dock-панелей?
Отправлено: Пантер от Ноября 18, 2010, 19:41
objectName у них задан?


Название: Re: А как бы сохранить размеры Dock-панелей?
Отправлено: frostyland от Ноября 18, 2010, 19:47
Задан objectName.
Просто как-то неполноценно сохраняются свойства.
Если сделаеш плавающей, все ОК и размеры и позиция сохраняется.
А вот докается в какую-то мизерную щелку просто.
И если эту щелку раздвинешь (кхм, как-то двусмысленно звучит )) ), то новый размер не сохраняется ((