Russian Qt Forum
Май 07, 2024, 19:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Относительный путь  (Прочитано 5003 раз)
cya-st
Гость
« : Январь 05, 2011, 16:31 »

Всем привет.
Подскажите пожалуйста как в Qt можно вернуть относительный путь (например %APPDATA%) для винды
Записан
asrael
Гость
« Ответ #1 : Январь 05, 2011, 17:14 »

вроде есть такая функция app.applicationDirPath().
Код:
QApplication app(argc, argv);
...
qDebug()<<app.applicationDirPath();
если я правильно понял вопрос..  Непонимающий
Записан
cya-st
Гость
« Ответ #2 : Январь 05, 2011, 17:38 »

вроде есть такая функция app.applicationDirPath().
Код:
QApplication app(argc, argv);
...
qDebug()<<app.applicationDirPath();
если я правильно понял вопрос..  Непонимающий
Эта функция возвращает директорию откуда был запущен екзешник.
У меня %APPDATA% это C:\Users\usr\AppData\Roaming\
Записан
asrael
Гость
« Ответ #3 : Январь 05, 2011, 18:00 »

тогда так:
Цитировать
Код:
// obtain (platform specific) application's data/settings directory
QSettings ini(QSettings::IniFormat, QSettings::UserScope,
              QCoreApplication::organizationName(),
              QCoreApplication::applicationName());
QString dir = QFileInfo(ini.fileName()).absolutePath();
dir string will contain:
on Windows - "%APPDATA%\<Organization Name>" ("<Drive>:\Documents and Settings\<login>\<Application Data>\<Organization Name>")
on Unix and Mac OS X - "$HOME/.config/<Organization Name>"
where <text> depends on your application & workspace (organization name, lingual version of Windows, etc.). This is a good place to put your data/settings without using QSettings.
Записан
cya-st
Гость
« Ответ #4 : Январь 05, 2011, 18:25 »

Да так работает. Всем спасибо.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Январь 05, 2011, 21:19 »

в обще разыменовать системные переменные можно несколькими способами:
QStringList QProcess::systemEnvironment ()   [static]

Новый класс (4.6.х)
QProcessEnvironment QProcessEnvironment::systemEnvironment ()   [static]
QString QProcessEnvironment::value ( const QString & name, const QString & defaultValue = QString() ) const

Ну и классика:
Код
C
#include <iostream>
#include <cstdlib>
int main()
{
   cout<<getenv("APPDATA");  
}
« Последнее редактирование: Январь 05, 2011, 21:26 от lit-uriy » Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.068 секунд. Запросов: 23.