QSettings и "точка с запятой" в значении |
Здравствуйте, гость ( Вход | Регистрация )
QSettings и "точка с запятой" в значении |
Sokoloff |
28.11.2010, 14:53
Сообщение
#1
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Похоже наткнулся на баг Qt. читаю данные из INI-шника через QSettings, некоторые значения представляют собой список разделенный точкой с запятой. Похоже Qsettings воспринимает все что после ";" как комментарий. Интересно что этот баг помечен как закрытый еще в 2007 году. Или Qt-шники это сломали в новых версиях, или я что-то не так делаю (хотя что там можно не так сделать?). Вот тестовый пример.
Раскрывающийся текст test.ini
main.cpp
Если это у вас повторяется, то буду открывать баг по новой. У меня kubuntu 10.10 и Qt 4.7.0 |
|
|
kwisp |
28.11.2010, 16:44
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Sokoloff,
1. а экранировать не пробовал? 2. или в ковычки значения взять? |
|
|
Litkevich Yuriy |
28.11.2010, 18:15
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
kwisp |
28.11.2010, 18:51
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Litkevich Yuriy |
28.11.2010, 19:21
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
но способ включить эти символы в значение должен быть. способ-то есть, при работе из программы, а вот пользователь, редактирующий файл, до этого может и не допетрить.QSettings будет это сохранять как строку взятую в двойные кавычки. просто напрашивается экранирование обр. слешем. это спецификация INI-файла от мелкосовта (см. таблицу по моим ссылкам)
|
|
|
kwisp |
28.11.2010, 22:00
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Litkevich Yuriy,
не знаю что там от мелкософта у меня дома и на работе Цитата kwisp@T34 ~ $ uname -a Linux T34 2.6.33-gentoo-r2 обратным слешем пользовался без проблем. то что пользовател может не додуматься - это ошибка составителя файла - обычно в комментариях вначале файла пишут как им пользоваться. как большинство файлов конфигурации линукс программ. тут же речь идет о том открывать заново баг троллям или нет. поэтому я и написал про экран. надо попробовать. если экран работает то баг не писать |
|
|
Sokoloff |
28.11.2010, 23:16
Сообщение
#7
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Прошу прощения, что не отвечал - был в оффлайне.
Это не коментарий, вот что пишут в спецификации: Цитата Comments must begin at the beginning of a line or after a spacing character. А здесь нет пробела перед ";". Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. |
|
|
Litkevich Yuriy |
28.11.2010, 23:22
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Sokoloff |
29.11.2010, 0:06
Сообщение
#9
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
|
|
|
kwisp |
29.11.2010, 0:18
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
QSettings все коменты убьёт при сохранении. Это давняя гадость в нём. это если ты сохранешь изменения. в линксе и поэтому тоже существуют squid.conf.example к примеру. где коменты останутся если только пользователь сам их не грохнет. Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. так тогда дело очевидное - пиши троллям почему QSettings не читает стандартные десктоповские файлы. |
|
|
Текстовая версия | Сейчас: 25.12.2024, 5:33 |