crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Плавающие QDockWidget., Как запомнить конфигурацию окна и виджетов в нем?
NordWest
  опции профиля:
сообщение 23.10.2009, 15:12
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

Спасибо сказали: 1 раз(а)




Репутация:   0  


Здравствуйте!

Есть QMainWindow и множество QDockWidget, которые при запуске прячутся и показываются по мере необходимости. Набор панелек такой. При этом удобно весьма получается иногда прикрепить их к окну по краям в различных сочетаниях, на вкладках. Делается это автоматом при манипуляциях с переносом. А вот как бы иметь возможность запомнить: что и как понавешано, чтобы при следующем открытии не приходилось снова всё распихивать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
DEADHUNT
  опции профиля:
сообщение 2.11.2009, 17:27
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


Цитата(SABROG @ 2.11.2009, 12:41) *
Кто же еще мог заморачиваться :lol:
В блоге даже написал по этому поводу. И это еще, чтобы показать нужный виджет.

в примере идёт определение текущего видимого QDockWidget`а через QTabBar, а мне надо что-то типа setCurrentIndex, setCurrentWidget из QTabWidget только для программного управления QDockWidget`ами

вообще-то ниже нашёл то что надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
&-rey
  опции профиля:
сообщение 28.11.2009, 21:50
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 12.11.2009
Пользователь №: 1225

Спасибо сказали: 0 раз(а)




Репутация:   0  


подскажите каким образом можно сохранить QbyteArray в реестре ?
пробовал конвертитровать в String, не вышло, попробовал сделать так:
    QByteArray ba = saveState();
    settings.beginWriteArray("array");
    for (int i = 0; i < ba.size(); ++i)
    {
        settings.setArrayIndex(i);
        settings.setValue("index", ba.at(i));
    }
    settings.endArray();

но при его вычитке size = 0;
    QByteArray ba;
    int size = settings.beginReadArray("array");
    for (int i = 0; i < size; ++i)
    {
        settings.setArrayIndex(i);
        ba.append(settings.value("index").toInt());
    }
    settings.endArray();
    restoreState(ba);

сами методы обрабатываются корректно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
&-rey
  опции профиля:
сообщение 29.11.2009, 14:55
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 12.11.2009
Пользователь №: 1225

Спасибо сказали: 0 раз(а)




Репутация:   0  


ошибка найдена, не сохранялось в реесте, и сохранение можно сделать проще.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.12.2024, 5:16