Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [qt] не получается сохранить настройки 
V
    Опции темы
Carlos0N
Дата 14.12.2009, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 9.10.2007

Репутация: нет
Всего: 1



Здравствуйте.
Стал делать сохранение настроек, решил попробовать для положения окна, но нечего не получилось :((

вызываю чтение в конструкторе и

Код

     virtual void closeEvent(QCloseEvent* pe)
     {
            this->writeSettings();
            pe->accept();
     }


Код

 void MainWindow::readSettings()
 {
     m_settings.beginGroup("/Settings");

     QPoint nPos = m_settings.value("/posX", this->pos()).toPoint();

     this->move(nPos);

     m_settings.endGroup();
 }

 void MainWindow::writeSettings()
 {
     m_settings.beginGroup("/Settings");
     //m_settings.setValue("/volume", volumeSlider);
     m_settings.setValue("/pos", this->pos());
     m_settings.endGroup();
 }


что не так?
PM MAIL ICQ   Вверх
Antiquar
Дата 14.12.2009, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Читайте параметры по событию showEvent и все будет нормально
PM MAIL   Вверх
Carlos0N
Дата 14.12.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 9.10.2007

Репутация: нет
Всего: 1



нечего не изменилось. да и недумаю что есть какая то разница между конструктором и этим событием, я чтение делал после создания всех объектов.
щас запихал чтение в showEvent и конструктор, а запись в closeEvent и деструктор и даже в событие mouseMoveEvent где изменяется положение окна при перетаскивание и ничего... пробовал разные варианты записи по отдельности и тоже нечего.
PM MAIL ICQ   Вверх
quarz
Дата 14.12.2009, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: 1
Всего: 3



отлаживай...для начала проверь, вызываются ли вообще функции readSettings и writeSettings. 
PM MAIL   Вверх
chaos
Дата 14.12.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Carlos0N


Код

int main(int argc, char *argv[]) {
    ...
    QApplication::setApplicationName("YOUR_APPLICATION_NAME");
    QApplication::setOrganizationName("YOUR_ORGANIZATION_NAME");
    ...
    return app.exec();
}


такой код есть?

Добавлено @ 08:13
Цитата(Carlos0N @  13.12.2009,  22:03 Найти цитируемый пост)
m_settings.setValue("/pos", this->pos());


/pos - / лишнее

Добавлено через 3 минуты и 39 секунд
Цитата(Antiquar @ 13.12.2009,  22:19)
Читайте параметры по событию showEvent и все будет нормально

ничто не мешает прочитать их в конструкторе

Это сообщение отредактировал(а) chaos - 14.12.2009, 08:14
PM WWW   Вверх
Carlos0N
Дата 14.12.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 9.10.2007

Репутация: нет
Всего: 1



да уж... пока не написал в конструкторе 
Код

MainWindow::MainWindow():m_settings("PMK", "Player")
{
...
}


ничего не работало, пробовал QAplicatoin::set... и QCoreAplication::set..., не работало, хотя несовсем понял в чем разница между тем что сделал я и этим

насчет / в асистонсе написано 
Do not use slashes ('/' and '\') in section or key names; the backslash character is used to separate sub keys (see below). On windows '\' are converted by QSettings to '/', which makes them identical. 
и примеры без них, видимо на линуксах могут возникнуть проблемы с чертой винды или типа того, я просто делал по аналогии с примерами из книги Шлее.

Это сообщение отредактировал(а) Carlos0N - 14.12.2009, 14:51
PM MAIL ICQ   Вверх
chaos
Дата 14.12.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Цитата(Carlos0N @  14.12.2009,  11:48 Найти цитируемый пост)
ничего не работало, пробовал QAplicatoin::set... и QCoreAplication::set..., не работало, хотя несовсем понял в чем разница между тем что сделал я и этим

именно так, через QApplication::setApplicationName у мну все прекрасно в проекте работает
QSettings - конструктор без параметров

Это сообщение отредактировал(а) chaos - 14.12.2009, 16:27
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0777 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.