我有一个Cpp类,我想将其重构为头文件和.cpp文件。通常没问题,但是当我尝试这样做Qt Quick时,我无法进行编译。如果我将所有内容都放在头文件中,那就没问题了,但是否则我会遇到各种不同的错误,具体取决于我是如何尝试的。有没有正确的方法。我认为它与Q_INVOKABLE位有关,但不确定。
这是我的代码......
#ifndef APPLICATIONDATA_H
#define APPLICATIONDATA_H
#include <QDateTime>
#include <QObject>
class ApplicationData : public QObject
{
Q_OBJECT
public:
ApplicationData(){}
Q_INVOKABLE QDateTime getCurrentDateTime() const{
return QDateTime::currentDateTime();
}
};
#endif // APPLICATIONDATA_H
感谢您的任何指示。
答案 0 :(得分:0)
这编译但我不确定为什么会这样做或为什么没有:
//header file
#ifndef APPLICATIONDATA_H
#define APPLICATIONDATA_H
#include <QDateTime>
#include <QObject>
class ApplicationData : public QObject
{
Q_OBJECT
public:
ApplicationData(); //constructor
Q_INVOKABLE QDateTime getCurrentDateTime() const; //function
};
#endif // APPLICATIONDATA_H
//.cpp file
#include "applicationdata.h"
#include <QDateTime>
#include <QObject>
ApplicationData::ApplicationData(){} //constructor implementation
QDateTime ApplicationData::getCurrentDateTime() const{ //function implementation
return QDateTime::currentDateTime();
}