我想知道为什么这段基于假公司名称和应用程序名称创建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显示了我试图创建的实例类型。
错误是:
字符串常量、“、”或“.”之前的预期标识符。
发布于 2017-10-11 08:19:58
你启用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;
};发布于 2022-11-25 06:52:15
file:///home/rajendra/Qt5.14.2/5.14.2/gcc_64/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML设置:初始化QSettings实例失败。状态代码是:1
file:///home/rajendra/Qt5.14.2/5.14.2/gcc_64/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML设置:尚未设置下列应用程序标识符: QVector("organizationName","organizationDomain")
就像我犯的这个错误。
在main.cpp中添加以下内容
QCoreApplication::setOrganizationName("Some组织“);
对我来说很管用。
https://stackoverflow.com/questions/46682894
复制相似问题