Russian Qt Forum

Qt => Общие вопросы => Тема начата: zili от Январь 27, 2010, 16:49



Название: Проблема с QSettings, не могу прочитать ini файл
Отправлено: zili от Январь 27, 2010, 16:49
Код:
    QSettings inifile("1.ini",QSettings::IniFormat);
    QString val=inifile.value("1","error").toString();

    ui->tableWidget->item(0,0)->setText(val);

Почему то не работает этот код, подскажите ошибку.


Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: BlackTass от Январь 27, 2010, 17:24
а что записано в ини файле?


Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: cya-st от Январь 27, 2010, 21:47
Скорее всего у тебя не находит путь к INI-файлу, попробуй установить имя файла например так:
Код:
QString sIniFileName=qApp->applicationDirPath()+"/1.ini";


Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: zili от Январь 28, 2010, 01:34
а что записано в ини файле?

Файл типа :
[1]
1=текст
2=текст
[2]
1=текст
2=текст



Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: zili от Январь 28, 2010, 01:38
Скорее всего у тебя не находит путь к INI-файлу, попробуй установить имя файла например так:
Код:
QString sIniFileName=qApp->applicationDirPath()+"/1.ini";

Дело вроди не в этом, я пробывал по разному прописывать путь, он сам находит файл, потому что если вызвать inifile->status в ответ получаем 0 а это значит что доступ к файлу она получила.



Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: zili от Январь 28, 2010, 01:41
Мне всетаки кажется что проблема в аргументах задаваемых в функции. тоесь я не уверен что
inifile.value("1","error").toString(); выдаст мне

[1]
1=текст

2=текст
[2]
1=текст
2=текст

мне непонятно как выбрать группу [1], потому что как понял так inifile.value("1","error").toString(); она читает параметр, а где указать с какой группы параметр не знаю


Название: Re: Проблема с QSettings, не могу прочитать ini файл
Отправлено: crackedmind от Январь 28, 2010, 05:31
Либо так:
Код:
inifile.beginGroup("Имя группы");
inifile.value(...);
inifile.endGroup();

Либо так:
Код:
inifile.value("Имя группы/имя параметра");