Qt开发 槽函数定义,以及槽函数二次响应多次响应问题

在Qt开发里面,有一种传说中的信号槽机制,有好几种实现的方法。

为了实现ui和逻辑的解耦,Qt开发可以利用Qt designer来做UI,同时也有一些UI和逻辑函数之间的通讯建立。

例如,要实现button的相应,有下面几种方法:
1
可以在<编辑信号/槽>模式下面,自己定义信号和槽函数,然后在窗口类里面,把相应的槽函数定义好
2
可以纯代码实现。把ui的控件拖动好,把槽函数写好,然后用一句connect(...)就可以把信号(例如click)和槽(例如void ButtonClicked())
链接起来。实际上,Qt designer做的也就是在初始化的时候把这个connect自动实现了,不需要开发者去敲。
3
可以利用一些默认的函数。例如,一个pushButton叫nextButt,那么Qt系统提供click,press等信号,然后只要在窗口类里面,定义如
private slot:
on_nextButt_clicked();
//或者
on_nextButt_pressed();


这样子的槽函数,就相当于重写Qt提供的默认槽函数,同样可以把按钮相应做出来。

注意一点,连接了多少次,槽函数就会相应多少次。
所以如果把上述1 2 3都做一遍,槽函数就会执行三次。。呵呵。。就是这么任性。。duang

你可能感兴趣的:(Qt框架学习)