Q_OBJECT宏的作用
2013-11-12 15:36
260 查看
The Q_OBJECT macro at the beginning of the class definition is necessary for all classes that define signals or slots
只有加入了Q_OBJECT,你才能使用QT中的signal和slot机制
QT的信号与槽机制介绍
A Small Example
A minimal C++ class declaration might read:
class Counter
{
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
void setValue(int value);
private:
int m_value;
};
A small QObject-based class might read:
#include <QObject>
class Counter : public QObject
{
Q_OBJECT
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
比如编写事件接口等程序时,有时会出现如下问题:
在PC端成功编译,但在开发板端却显示错误:
QObject::connect: No such slot QWidget::*******()
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
这时候,就必须在头文件派生类的时候,首先像下面那样引入Q_OBJECT宏:
class MyMainWindow : public QWidget
{
Q_OBJECT
......
}
只有加入了Q_OBJECT,你才能使用QT中的signal和slot机制
QT的信号与槽机制介绍
A Small Example
A minimal C++ class declaration might read:
class Counter
{
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
void setValue(int value);
private:
int m_value;
};
A small QObject-based class might read:
#include <QObject>
class Counter : public QObject
{
Q_OBJECT
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
比如编写事件接口等程序时,有时会出现如下问题:
在PC端成功编译,但在开发板端却显示错误:
QObject::connect: No such slot QWidget::*******()
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
这时候,就必须在头文件派生类的时候,首先像下面那样引入Q_OBJECT宏:
class MyMainWindow : public QWidget
{
Q_OBJECT
......
}
相关文章推荐
- spring/struts异常exception starting filter struts2 java.lang.NullPointerException ..SpringObjectFacory
- Objective-C 如何让非等宽的数字和空格对齐
- Effective Objective-C [下]
- Effective Objective-C [上]
- Objective-c对c语言都做了哪些扩展?
- ObjectSNMP
- 使用UIWebView时objective-c与javascript互相调用 1
- 在Salesforce中对Object实现Trigger的绑定
- 在Eclipse中用图形界面的方式获取Salesforce中Object的Query语句
- Object-C(iphone)开发入门
- 派生类的构造函数
- Point &element(int index){ return points [index]; }
- 匿名类型和Object转换
- BO4 SDK 检索所有使用了某个universe object的报表
- BOXI3 SDK 检索所有使用了某个universe object的报表
- [基础语法]1.NSObject的几个方法
- awakeFromNib
- Object-c 总结之NSDate
- Object-c 总结之NSDictionary
- Object-c 总结之NSArray