信号与槽是连接不同控件直接的渠道。
这里以Horizontal Slider和Dial两个控件举例。
目的是在改变滑条的数值时,Dial也随之响应。
首先添加两个控件。
然后按快捷键F4进入控件编辑模式。此时旁边的控件栏将不可用。如果想退出此模式,可以使用快捷键F3退出。
现在将两个控件链接到一起。将鼠标放到Horizontal Slider然后拖动,会发现有一个红色的箭头。拖到另一个控件上。
然后退出。运行程序即可看到效果。
上一种是系统提供的方法。现在我想自己添加一个。
需要一个这样功能:当我点击一个按钮的时候,改变窗口标题。
现在我添加一个新的按钮。并将object设置为setTitleButton
然后在头文件中添加一个接口函数changeWindowTitleSlot:
然后实现这个函数,并用connect函数连接起来。
这样一个自定义的槽的完成了。
还有另一个方法。
首先删除上个方法的代码。然后在按钮上鼠标右键选择Go to slot...
然后选择clicked()点击确定。
将会自动生成一个函数,并会在头文件添加响应的声明。
然后添加响应的功能即可。
直接运行程序即可看到效果。
在使用方法上,建议使用第一种。
如果添加一个退出按钮,可以直接使用系统提供的信号与槽,但是如果需要直接将进程杀死呢?可以使用下面的步骤。
添加一个按钮,并设置名称。
即可。其中qApp是一个全局变量。保存的是进程的指针。
下面使用一个自定义信号。
添加一个按钮customer,然后使用跳转来使用一个槽。
在头文件中声明一个信号。
也能达到退出程序的目的。
其中qDebug为调试信息输出。和printf差不多。使用它需要包含头文件 #include <QtDebug>.
给自定义的信号附带上参数。