我有一个显示树结构的 GUI,如此处所示。
这些节点中的每一个都是从它们上面的节点派生的独立类。它们都继承QObject
了它们的实现。现在我需要添加一些属性,以便用户Properties
在Implicit
. 选择它会打开一个带有属性的窗口。我在头文件中添加了这些属性,Implicit
如下所示:
#ifndef FCIMPLICIT_H
#define FCIMPLICIT_H
#include <QObject>
#include "Interface.h"
#include "ResourceItem.h"
#include "MonWindow.h"
#include "FCTab.h"
#include "ResourceItem.h"
#include "FCAbstract.h"
#include "FCInterface.h"
#include "FCConnections.h"
class CFCImplicit: public CResourceItem
{
Q_OBJECT
Q_PROPERTY(int FCPortID READ getPortID )
Q_PROPERTY(QString Type READ getType )
Q_PROPERTY(QString Status READ getStat )
Q_PROPERTY(int WWNodeNumber READ getNodeNo )
Q_PROPERTY(int WWPortNumber READ getPortNo )
Q_PROPERTY(bool AutoActive READ getAuto )
public:
CFCImplicit(QObject*);
~CFCImplicit();
QString getType();
QString getStat();
int getPortID();
int getPortNo();
int getNodeNo();
bool getAuto();
};
FCinterface.h
是FCASM
节点的头部。
问题是只显示第一个属性,如第二张图片所示。发生这种情况有原因吗?我应该向构造函数或新函数添加一些东西吗?
该类的构造函数Implicit
是
CFCImplicit::CFCImplicit(QObject* parent) : CResourceItem(parent)
{
fnSetProperty("objectName", QString("Implicit"));
((CResourceItem*)parent)->fnAddResources(this);
}
编辑:
这是所有READ
功能的代码
QString CFCImplicit::getType()
{
QString a;
a="Implicit";
return a;
}
QString CFCImplicit::getStat()
{QString a;
a="Idle";
return a;}
int CFCImplicit::getPortID()
{int a;
a=1;
return a;}
int CFCImplicit::getPortNo()
{int a;
a=2;
return a;}
int CFCImplicit::getNodeNo()
{int a;
a=2;
return a;}
bool CFCImplicit::getAuto()
{bool a;
a=true;
return a;}