QT之消息响应
来源:互联网 发布:mac如何关闭开机声音 编辑:程序博客网 时间:2024/05/18 17:44
//参数说明
connect( 发射信号对象指针 , SIGNAL(发射信号的控件名(信号函数参数) , 接收信号对象指针,SLOT(接收信号控件名(信号参数))
例如: connect(findLine,SIGNAL(textChanged(QString)),this,SLOT(findFile(const QString &)));
一个信号可以连多槽
例如:
connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateStatusBarIndicator(int)));
slider即滑动控件当他的值变化时,valueChanged(int),发出的信号被两个槽接受spinBox ,this(当前类)。
信号和信号,槽和槽,槽和信号,他们之间是可以相互响应的。其实信号与槽的信息交换都是以函数实现的。connect()函数其实是在QObject中实现的,并不局限于GUI,只要我们继承了QOject类,就可以应用信号槽机制。
例如:
class Employee : public QObject
{
Q_OBJECT
public:
Employee() { mySalary = 0; }
int salary() const { return mySalary; }
public slots:
void setSalary(int newSalary);
signals:
void salaryChanged(int newSalary);
private:
int mySalary;
};
在使用时,我们给出下面的代码:
void Employee::setSalary(int newSalary)
{
if (newSalary != mySalary) {
mySalary = newSalary;
emit salaryChanged(mySalary);
}
}
这样,当setSalary()调用的时候,就会发出salaryChanged()信号。
注意:
1:connect是QObject的静态函数,在类外以QObject::connect( ...)形式调用
2:为了正确的连接信号槽,信号和槽的参数个数、类型以及出现的顺序都必须相同。
这里有一种例外情况,如果信号的参数多于槽的参数,那么这个参数之后的那些参数都会被忽略掉
- QT之消息响应
- QT 自定义消息响应
- Qt 消息响应,
- 关于QT的按键消息响应
- qt调用vlc响应windows消息
- qt调用vlc响应windows消息
- HTTP之响应消息Response
- Windows 消息响应机制之二:消息
- Windows 消息响应机制之二:消息 .
- Qt之保持GUI响应
- 吐槽一下Qt的按键消息响应
- 吐槽一下Qt的按键消息响应
- 吐槽一下Qt的按键消息响应
- Qt和WPF比较---控件布局和消息响应
- 吐槽一下Qt的按键消息响应
- qt多线程简单触发式消息响应服务
- Windows消息响应机制之三:线程与消息队列
- Windows消息响应机制之三:线程与消息队列 .
- QT之定向打开文件
- windows下一个简单的输入法模块[Python]
- Rujia三道字符串入门题(WERTYU、TeX括号、周期串)
- IP地址字符串与整数的互相转化
- nginx开发入门
- QT之消息响应
- nodejs代理服务器
- 原来在国内我上的不是大学
- KMP算法小结
- 基本数据结构实现(Data Structures and Algorithm Analysis 2rd Edition)
- 如果一个国家的国民开口闭口都谈钱的时候,这个国家真可怜
- unix编程---网络I/O模型
- HDU 2222 AC自动机
- rman入门