我可以从资源文件中的.ini文件读取吗?
问题描述:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSettings>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSettings * qsettings = new QSettings(":/config.ini",QSettings::IniFormat);
bool status = qsettings->value("preview","").toBool();
qDebug() << status;
}
MainWindow::~MainWindow()
{
delete ui;
}
一旦我可以做到,但现在我不知道出了什么问题.当我用谷歌搜索这个问题时,我只是发现这是不可能的,但是我保证我以前做过.
Once i could do it but now i don't know whats wrong. When i googled this problem i just saw that this impossible but i enshure that i did it before.
答
这对我来说就像是一种魅力:
This works like a charm for me:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>config.ini</file>
</qresource>
</RCC>
main.cpp
#include <QSettings>
#include <QDebug>
int main()
{
QSettings settings(":/config.ini", QSettings::IniFormat);
qDebug() << settings.value("preview", false).toBool();
qDebug() << settings.value("non-existent", false).toBool();
return 0;
}
main.pro
TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
RESOURCES += main.qrc
构建并运行
qmake && make && ./main
输出
true
false