cma*_*t85 8 c++ qt g++ signals-slots
g++ 使用以下代码报告解析错误:
class Sy_timeLineDelegateScene : public QGraphicsScene
{
Q_OBJECT
public:
Sy_timeLineDelegateScene( Sy_animPropertyTimeLine* timeline,
Sy_animClock* clock,
QObject* parent = nullptr );
virtual ~Sy_timeLineDelegateScene() {}
protected slots: // Parse error at ":"
typedef QMap< Sy::Frame, Sy_timeLineDelegateKey* > DelegateTimeLine;
...
Run Code Online (Sandbox Code Playgroud)
我的类派生自QObject并且我Q_OBJECT在错误之前声明了宏,但如果我注释掉该slots部分,它编译得很好.我已经使用Qt了多年而从未见过这个,它一定是愚蠢的东西,但我看不出是什么导致了这个问题.
类定义中的"槽"和"信号"部分应仅包含函数; 无论是类型还是成员变量.
您应该typedef在公共,受保护或私人部分移动:
class Sy_timeLineDelegateScene : public QGraphicsScene
{
Q_OBJECT
public:
Sy_timeLineDelegateScene( Sy_animPropertyTimeLine* timeline,
Sy_animClock* clock,
QObject* parent = nullptr );
virtual ~Sy_timeLineDelegateScene() {}
typedef QMap< Sy::Frame, Sy_timeLineDelegateKey* > DelegateTimeLine;
protected slots:
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1765 次 |
| 最近记录: |