1. 创建一个继承自QObject的类,该类将作为单例数据层接口。
2. 在类中定义需要存储的数据,并提供set和get方法来操作数据。
3. 使用静态函数来获取单例实例,并确保只有一个实例存在。
// datainterface.h
#ifndef DATAINTERFACE_H
#define DATAINTERFACE_H
#include <QObject>
class DataInterface : public QObject
{
Q_OBJECT
public:
static DataInterface* getInstance();
void setData(const QString& data);
QString getData();
private:
explicit DataInterface(QObject *parent = nullptr);
static DataInterface* instance;
QString m_data;
};
#endif // DATAINTERFACE_H
// datainterface.cpp
#include "datainterface.h"
DataInterface* DataInterface::instance = nullptr;
DataInterface::DataInterface(QObject *parent) : QObject(parent)
{
}
DataInterface* DataInterface::getInstance()
{
if (!instance) {
instance = new DataInterface();
}
return instance;
}
void DataInterface::setData(const QString& data)
{
m_data = data;
}
QString DataInterface::getData()
{
return m_data;
}
调用:
DataInterface* dataInterface = DataInterface::getInstance();
dataInterface->setData("Hello, Singleton!");
QString data = dataInterface->getData();