Qt学习笔记-了解信号与槽-自定义信号-自定义槽
信号与槽是连接不同控件直接的渠道。
这里以Horizontal Slider和Dial两个控件举例。
目的是在改变滑条的数值时,Dial也随之响应。
首先添加两个控件。

然后按快捷键F4进入控件编辑模式。此时旁边的控件栏将不可用。如果想退出此模式,可以使用快捷键F3退出。
现在将两个控件链接到一起。将鼠标放到Horizontal Slider然后拖动,会发现有一个红色的箭头。拖到另一个控件上。


然后退出。运行程序即可看到效果。
上一种是系统提供的方法。现在我想自己添加一个。
需要一个这样功能:当我点击一个按钮的时候,改变窗口标题。
现在我添加一个新的按钮。并将object设置为setTitleButton

然后在头文件中添加一个接口函数changeWindowTitleSlot:

然后实现这个函数,并用connect函数连接起来。

这样一个自定义的槽的完成了。
还有另一个方法。
首先删除上个方法的代码。然后在按钮上鼠标右键选择Go to slot...

然后选择clicked()点击确定。

将会自动生成一个函数,并会在头文件添加响应的声明。
然后添加响应的功能即可。

直接运行程序即可看到效果。
在使用方法上,建议使用第一种。
如果添加一个退出按钮,可以直接使用系统提供的信号与槽,但是如果需要直接将进程杀死呢?可以使用下面的步骤。
添加一个按钮,并设置名称。


即可。其中qApp是一个全局变量。保存的是进程的指针。
下面使用一个自定义信号。
添加一个按钮customer,然后使用跳转来使用一个槽。
在头文件中声明一个信号。


也能达到退出程序的目的。
其中qDebug为调试信息输出。和printf差不多。使用它需要包含头文件 #include <QtDebug>.
给自定义的信号附带上参数。


Qt学习笔记-了解信号与槽-自定义信号-自定义槽的更多相关文章
- Qt 学习之路 2(5):自定义信号槽
Home / Qt 学习之路 2 / Qt 学习之路 2(5):自定义信号槽 Qt 学习之路 2(5):自定义信号槽 豆子 2012年8月24日 Qt 学习之路 2 131条评论 上一节我们详 ...
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...
- Qt 学习之路 2(23):自定义事件
Qt 学习之路 2(23):自定义事件 豆子 2012年10月23日 Qt 学习之路 2 21条评论 尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的.例如, ...
- Qt学习笔记-Widget布局管理
Qt学习笔记4-Widget布局管理 以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...
- Qt 学习之路 2(50):自定义可编辑模型
Home / Qt 学习之路 2 / Qt 学习之路 2(50):自定义可编辑模型 Qt 学习之路 2(50):自定义可编辑模型 豆子 2013年5月13日 Qt 学习之路 2 13条评论 上一章我们 ...
- Qt 学习之路 2(53):自定义拖放数据
Qt 学习之路 2(53):自定义拖放数据 豆子 2013年5月26日 Qt 学习之路 2 13条评论上一章中,我们的例子使用系统提供的拖放对象QMimeData进行拖放数据的存储.比如使用QM ...
- Qt 学习之路 2(49):自定义只读模型
Qt 学习之路 2(49):自定义只读模型 豆子 2013年5月5日 Qt 学习之路 2 18条评论 model/view 模型将数据与视图分割开来,也就是说,我们可以为不同的视图,QListView ...
- QT学习笔记(一)——Helloworld
QT学习笔记(一)--Helloworld 一.调试的基本方法: Log调试法 --在代码中加入一定的打印语句 --打印程序状态和关键变量的值 断点调试法: --在开发环境中的对应代码行加上断点 -- ...
- Qt学习笔记 信号和槽
槽和普通c++成员函数一样只可以为虚函数,也可以被重用,可以是公有的也可以是私有的,也可以被其它的c++函数调用; 参数也是任意的 唯一不同的是本槽和信号是可以连在一起的,和c#的事件差不多.相连后每 ...
随机推荐
- 二、pandas学习
1.food.csv ========================================================================================= ...
- Docker 指南
一.docker 介绍 1.1 引言 环境不一致 "我本地运行没问题啊?!" 多用户相互影响 "哪个哥们又写死循环了,怎么这么卡?!" 运维成本高 " ...
- NDK&JNI开发总结
NDK&JNI开发总结 简介 附个不错的博客 https://www.jianshu.com/p/87ce6f565d37 在Android Framework中,需要提供一种媒介或 桥梁,将 ...
- 饱含辛酸开发 WPF CustomControl
引言 不知不觉间WPF开发已有两年光景,或许有很多人会问WPF还需要学习吗?WPF还有前途吗?其实我也很担心这个问题. .Net Core3.x已经支持WPF开发,.Net 5也宣布要支持WPF.是否 ...
- MySQL——一致性非锁定读(快照读)&MVCC
MySQL--一致性非锁定读(快照读) MySQL数据库中读分为一致性非锁定读.一致性锁定读 一致性非锁定读(快照读),普通的SELECT,通过多版本并发控制(MVCC)实现. 一致性锁定读(当前读) ...
- pom文件中<dependencies>和<dependencyManagement>的区别
在父pom中,如果使用了<dependencies>标签,那么在该标签体中的所有jar包,即使子工程中没有写这些依赖,依旧会引用. 如果使用了<dependencyManagemen ...
- moviepy音视频剪辑:AudioClip帧处理时报TypeError: only size-1 arrays can be converted to Python scalar错
☞ ░ 前往老猿Python博文目录 ░ 一.环境 操作系统:win7 64位 moviepy:1.0.3 numpy:1.19.0 Python:3.7.2 二.应用代码及报错信息 程序代码 if ...
- Redis数据库简介
最近的项目需要用到Redis数据库和MySQL,恶补学习. Redis的使用手册可以看: https://redis.io/ https://www.runoob.com/redis/redis-tu ...
- 3、pytorch实现最基础的MLP网络
%matplotlib inline import numpy as np import torch from torch import nn import matplotlib.pyplot as ...
- 【Alpha冲刺阶段】Scrum Meeting Daily6
[Alpha冲刺阶段]Scrum Meeting Daily6 1.会议简述 会议开展时间 2020/5/27 8:00 - 8:15 PM 会议基本内容摘要 每日汇报 个人进度.遇到的困难.明日的计 ...