0

我正在尝试为应用程序创建全局设置提供程序。在这么多不同的类中复制一个对象似乎很笨重。

当私有静态变量很简单(例如整数)时,我已经看到此方法有效,但我希望它适用于 QSettings — 一个对象。

// settings.h
class Settings {
public:
    static void Initialize();
    static int serverRefreshRate();

private:
    QSettings *settings;
};

// settings.cpp
#include "Server/settings.h"

void Settings::Initialize() {
    Settings::settings = new QSettings(/* etc */);
}

int Settings::serverRefreshRate() {
    return settings->value("server/refreshRate", 10000).toInt();
}

有没有办法可以实现这一目标,还是我以错误的方式去做?

谢谢!

编辑,

首先,它必须是:

static QSettings *settings;

我需要.cpp中的以下内容。

QSettings* Settings::settings = NULL;
4

0 回答 0