C++ QSettings实例失败
我想知道为什么基于假公司名和应用程序名创建Qt设置实例的代码不起作用 这是mainwindow.h,还有一个main.cpp和mainwindow.cpp,一个.pro文件,.ui文件,但它们都是完全通用的,因为我创建了一个新的qwidgets项目来查看到底是什么问题C++ QSettings实例失败,c++,qt,settings,C++,Qt,Settings,我想知道为什么基于假公司名和应用程序名创建Qt设置实例的代码不起作用 这是mainwindow.h,还有一个main.cpp和mainwindow.cpp,一个.pro文件,.ui文件,但它们都是完全通用的,因为我创建了一个新的qwidgets项目来查看到底是什么问题 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QSettings> namespace Ui {
#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
\ifndef主窗口
#定义主窗口
#包括
#包括
名称空间用户界面{
类主窗口;
}
类主窗口:公共QMainWindow
{
Q_对象
公众:
显式主窗口(QWidget*parent=0);
~main窗口();
q设置这些_设置(“MySoft”、“StarRunner”);
私人:
Ui::MainWindow*Ui;
};
#endif//main窗口
我所做的只是添加了一行代码,QSettings这些设置(“MySoft”、“StarRunner”)代码>
此页面显示我正在尝试创建的实例类型
错误是:
字符串常量“,”或“…”之前应为标识符
你启用了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;
};
QSettings这些_设置=QSettings(“MySoft”、“StarRunner”);结果会显示一条关于“宏Q_禁用_复制”的消息,您确定大括号吗?在链接上显示括号。但我会尝试使用括号的建议。编译器认为这是方法的定义,这就是它抱怨的原因。您可以在构造函数初始值设定项列表中使用括号。