简体   繁体   English

我可以从位于资源文件中的.ini文件中读取吗?

[英]Can i read from .ini file which located in resources files?

#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;
}

http://i.imgur.com/XKOBC7o.png
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. 当我用Google搜索这个问题时,我只是看到了这个不可能的事情,但我确信我之前做过这件事。

This works like a charm for me: 这对我来说就像一个魅力:

main.qrc main.qrc

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>config.ini</file>
</qresource>
</RCC>

main.cpp 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 main.pro

TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
RESOURCES += main.qrc

Build and Run 构建并运行

qmake && make && ./main

Output 产量

true
false

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM