Russian Qt Forum
Июня 18, 2025, 03:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] А как бы сохранить размеры Dock-панелей?  (Прочитано 2404 раз)
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



« Последнее редактирование: Ноября 19, 2010, 11:14 от frostyland » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Ноября 18, 2010, 19:41 »

objectName у них задан?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
frostyland
Гость
« Ответ #2 : Ноября 18, 2010, 19:47 »

Задан objectName.
Просто как-то неполноценно сохраняются свойства.
Если сделаеш плавающей, все ОК и размеры и позиция сохраняется.
А вот докается в какую-то мизерную щелку просто.
И если эту щелку раздвинешь (кхм, как-то двусмысленно звучит )) ), то новый размер не сохраняется ((
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.059 секунд. Запросов: 23.