QSettings 实例失败
QSettings instance fails
我想知道为什么这段基于虚假公司名称和应用程序名称创建 Qt 设置实例的代码不起作用。
这里是mainwindow.h,还有main.cpp,还有mainwindow.cpp,.pro文件,.ui文件,不过都是完全通用的, 因为我做了一个新的 qwidgets 项目来查看到底是什么问题。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSettings>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QSettings these_settings("MySoft","StarRunner");
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
我所做的只是添加一行代码,QSettings these_settings("MySoft","StarRunner");
。
此页面 http://doc.qt.io/qt-5/qsettings.html#QSettings 显示了我尝试创建的实例类型。
错误是:
expected identifier before string constant, ',' or '...'.
您是否启用了 C++11?如果你像这样初始化字段,这是必需的。
这也应该用大括号而不是括号来完成:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QSettings these_settings { "MySoft","StarRunner" };
private:
Ui::MainWindow *ui;
};
我想知道为什么这段基于虚假公司名称和应用程序名称创建 Qt 设置实例的代码不起作用。
这里是mainwindow.h,还有main.cpp,还有mainwindow.cpp,.pro文件,.ui文件,不过都是完全通用的, 因为我做了一个新的 qwidgets 项目来查看到底是什么问题。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSettings>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QSettings these_settings("MySoft","StarRunner");
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
我所做的只是添加一行代码,QSettings these_settings("MySoft","StarRunner");
。
此页面 http://doc.qt.io/qt-5/qsettings.html#QSettings 显示了我尝试创建的实例类型。
错误是:
expected identifier before string constant, ',' or '...'.
您是否启用了 C++11?如果你像这样初始化字段,这是必需的。
这也应该用大括号而不是括号来完成:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QSettings these_settings { "MySoft","StarRunner" };
private:
Ui::MainWindow *ui;
};