savostin
@savostin
Еще один программист

Как хранить выбранный option в select?

Подскажет ли кто надежный и правильный способ хранить выбранный пользователем option в select?

Скажем, настройки программы, есть поле выбора из N элементов. Пользователь выбрал один из них - нужно сохранить его выбор в файл настроек.

Т.к. это не web, то id у option нет - только порядковый номер и собственно текст.

Порядковый номер сохранять не хочется - есть небольшая вероятность, что набор может измениться и тогда сохраненные настройки неверно прочитаются. Сохранять текст выбора тоже не хочется - в программе предусмотрена смена языка и хотелось бы, чтобы файл открывался в любом языке, да и текст может поменяться опять же. Куда этот id можно запихнуть?
  • Вопрос задан
  • 2475 просмотров
Решения вопроса 1
EXL
@EXL
Энтузиаст
@savostin не понимаю, в чем именно ваша проблема. В Qt есть удобные классы для хранения настроек - QSettings. На примере: есть опции в программе, к примеру, выбор языка и QCheckBox. Пусть каждому языку соответствует индивидуальный идентификатор: Английский - "en", Русский - "ru", Испанский - "es". Опция "Cool Option", охарактеризована QCheckBox'ом.

Создаете объект класса QSettings, создаете методы "loadSetting()" и "saveSettings()". При запуске программы метод "loadSetting()" осуществляет чтение настроек из файла или реестра, а затем, в соответствии с прочитанными настройками, расставляет выбор опций в интерфейсе. После завершения работы с программой вызывается метод "loadSetting()", который сохраняет все настройки пользователя.

Очень удобно использовать для этой цели *.ini-файлы:

[PDA_Maze]
TimerMode=0
MapMode=1
MapSize=29
ShowStep=false
ScaleScreen=0
SmoothScreen=false
AppLanguage=ru


Пример подобной реализации сохранения настроек можно посмотреть тут.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы