首页>银行 > 正文

《C++ GUI Qt4编程》第2章——创建对话框——深入介绍信号和槽

2023-08-11 15:21:36    出处:博客园


【资料图】

槽和普通的C++成员函数几乎是一样的——可以是虚函数;可以被重载;可以是公有的、保护的或者私有的,并且也可以被其他C++成员函数直接调用,它们的参数可以是任意类型。唯一不同的是:槽还可以和信号连接在一起,在这种情况下,每当发射这个信号的时候,就会自动调用这个槽。

connect(sender, SIGNAL(signal), receiver, SLOT(slot));

这里的sender和receiver是指向QObject的指针,signal和slot是不带参数的函数名。实际上,SIGNAL()宏和SLOT()宏会把它们的参数转换成相应的字符串。

信号与槽的连接

// 一个信号可以连接多个槽(顺序不确定)connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateStatusBarIndicator(int)));// 多个信号可以连接同一个槽connect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));connect(calculator, SIGNAL(divisionByZero()), this, SLOT(handleMathError()));// 一个信号可以与另外一个信号连接(当发射第一个信号时,也会发射第二个信号)connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateRecord(const QString &)));// 连接可以被移除(这种情况很少用到,因为当删除对象时,Qt会自动移除和这个对象相关的所有连接)disconnect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));

关键词:

消费
产业
8月10日基金净值:华夏中证500指数增强A最新净值1.7758,涨0.25% 8月10日,华夏中证500指数增强A最新单位净值为1 7758元,累计净值为1 7
比亚迪第500万辆新能源汽车下线 8月9日晚,比亚迪在深圳全球总部宣布,比亚迪第500万辆新能源汽车下线
温州,让更多产业工人由工变匠 原标题:打通技能晋升通道,成立劳模工匠产业人才学院……(引题)温州
官方:伯恩茅斯签下诺维奇后卫阿隆斯 直播吧8月11日讯伯恩茅斯俱乐部官方宣布,与诺维奇后卫马克斯-阿隆斯签
基金