Сохранение настроек в домашнюю дерикторию, linux |
Здравствуйте, гость ( Вход | Регистрация )
Сохранение настроек в домашнюю дерикторию, linux |
RazrFalcon |
30.1.2011, 4:14
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Нужно сохранить в
~/.config/my_config.ini ну или $HOME/.config/my_config.ini Не один вариант не пашит. Как правильно? |
|
|
igor_bogomolov |
30.1.2011, 4:32
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Когда же ты научишься вопросы нормально задавать? Нечего не понятно, ни что сделать пытаешься, ни как? Что именно не пашет?
Где постановка задачи, где вопрос то сам? См. QSettings |
|
|
RazrFalcon |
30.1.2011, 4:40
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Мне нужно сохранить файл настроек в домашнюю директорию на linux
Делаю так
Вопрос, как сохранять туда же, но без своего ника. То есть не /home/razrfalcon/.config/config.ini а ~/.config/config.ini Я же не знаю какой ник человека который будет ставить мою "прогу". Можно конечно через QProcess узнать имя uname -n и подставить, но я думаю есть другой вариант. |
|
|
igor_bogomolov |
30.1.2011, 4:43
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
RazrFalcon, ответ я тебе уже дал, смотри внимательнее предыдущее сообщение
|
|
|
maint |
30.1.2011, 7:03
Сообщение
#5
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Мне нужно сохранить файл настроек в домашнюю директорию на linux Делаю так
Вопрос, как сохранять туда же, но без своего ника. То есть не /home/razrfalcon/.config/config.ini а ~/.config/config.ini Я же не знаю какой ник человека который будет ставить мою "прогу". Можно конечно через QProcess узнать имя uname -n и подставить, но я думаю есть другой вариант. для юниксов используют для узнавания имени пользователя функцию getlogin. Для определения домашнего каталога для пользователя и пр. индивидуальных сведений о пользователи getpwnam. Домашний каталог пользователя в юниксах может находится в каком угодно месте. Сообщение отредактировал maint - 30.1.2011, 12:00 |
|
|
Rocky |
31.1.2011, 10:40
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
|
|
|
Гость_Гость_* |
5.6.2012, 16:47
Сообщение
#7
|
Гости |
не спец в Qt но у меня работает
QDir::homePath() + QDir::separator() + "название файла" |
|
|
Гость_Гость_* |
5.6.2012, 20:08
Сообщение
#8
|
Гости |
http://qt-project.org/doc/qt-4.8/qdesktops...rdLocation-enum
Ну или как в предыдущем варианте. И кстати, QDir::cdUp, никто не отменял. А всякие getlogin и прочие платформ депендед вещи, для таких задач фу-фу-фу.
|
|
|
Sokoloff |
14.6.2012, 23:34
Сообщение
#9
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Мне нужно сохранить файл настроек в домашнюю директорию на linux QFile file("/home/razrfalcon/.config/config.ini"); 1.По стандарту конфиги должны лежать не тупо в ~/.config, а должна учитываться переменная $XDG_CONFIG_HOME. Обычно она не задана и тогда используется $HOME/.config, но пользователь может ее менять. Поэтому имя директории можно получить так:
2. ~/.config/config.ini - не хорошее имя, слишком общее, велика вероятность конфликта. Лучше использовать ~/.config/ИМЯ_ПРОГРАММЫ/config.conf или если не нужна поддиректория, то ~/.config/ИМЯ_ПРОГРАММЫ.conf 3. Как уже сказали, используй QSettings, там все укрено до вас ($XDG_CONFIG_HOME учитывается) Создаст файл "~/.config/super_programm/config.conf"а Создаст файл "~/.config/super_programm.conf"
|
|
|
Текстовая версия | Сейчас: 9.1.2025, 21:49 |