QSettings实例失败

时间:2017-10-11 08:00:39

标签: 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 {
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显示我正在尝试创建的实例类型。

错误是:

  

字符串常量之前的预期标识符,','或'...'。

1 个答案:

答案 0 :(得分:1)

你启用了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;
};