将Qt Quick Cpp类重构为header和.cpp

时间:2016-04-29 00:01:32

标签: c++ qt refactoring

我有一个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

感谢您的任何指示。

1 个答案:

答案 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();
}