当前位置: 首页 > news >正文

【QT】信号和槽(15)

前面的内容说了很多不同的控件如何使用,今天来看下QT的核心,信号与槽(Signals and slots)

简单理解一下,就是我们的信号与槽连接上了之后,发射一个信号给到槽,槽函数接收到了这个信号之后,槽函数会被调用。

一.环境配置

1.python 3.7.8  

可直接进入官网下载安装:Download Python | Python.org

2.QT Designer 

官方下载路径:Qt Designer Download for Windows and Mac

二.实例演示

1. 这边为了方便,直接用Qt Designer 来设计界面的布局,如下:

 

很普通的一个界面,甚至还有点丑,那我们来给以上控件编辑信号与槽,如下:

 

以上我们分解为三个部分来说明,信号与槽的使用,继续往下看。

2. 信号与槽demo1:

这边我们用到了pushButton、lineEdit这两个控件,通过Qt Designer 的左上角edit-->>编辑信号与槽,将pushButton作为信号,lineEdit为槽,连接后给通过定义pushButton信号clicked()函数到我们的lineEdit槽函数,这边lineEdit槽函数为clear()。

上述信号与槽的功能定义为:通过单击我们的pushButton按钮来清除lineEdit文本的内容,我们实际操作一下看看:

(1)lineEdit添加文本

(2)清除文本

 

单击我们的 pushButton按钮,lineEdit里面的内容就被清理了。这样大家对于信号与槽的机制大概有了一个了解了,当然,还可以通过编辑不同的槽函数,如selectAll()、cut()等等。

2. 信号与槽demo2:

那么我们第二部分,只用到了一个控件 pushButton,我们将pushButton作为信号,MainWindow作为槽,直接给槽定义了close()函数,这样我们通过单击pushButton这一信号发射给了MainWindow,槽函数接收到了信号后执行close()函数,即关闭我们的主页面,如下:

如上,单击 pushButton这个按钮,即关闭整个主界面。

3. 信号与槽demo3:

第三部分,我们用到了两个checkBox控件和一个textEdit控件,两个信号都为clicked()是一个单击pushButton按钮的信号,分别给到我们的textEdit槽绑定了hide()、show()函数,这两个函数我们根据英文简单理解就是隐藏、显示的意思。

下面来执行这两个槽函数:

通过执行我们的 checkBox1发射的单击按钮信号,触发了槽的hide()函数,我们的textEdit就被隐藏起来了。

在点击我们的checkBox2发射的单击按钮信号,触发了槽的show() 函数,我们的textEdit控件有显示出来了。

三.总结

那么我们基于 Qt Designer 的信号与槽的使用就是这样了。

@Neng

http://www.lryc.cn/news/149912.html

相关文章:

  • EFLK日志平台(filebeat-->kafka-->logstash-->es-->kiabana)
  • C盘扩容遇到的问题(BitLocker解密、)
  • ShardingSphere——柔性事务SEATA原理
  • Introducing GlobalPlatform(一篇了解GP)
  • Ubuntu 18.04上无法播放MP4格式视频解决办法
  • 科技驱动产业升级:浅谈制造型企业对MES系统的应用
  • 智能化新十年,“全栈智能”定义行业“Copilot智能助手”
  • Docker资源控制cgroups
  • 通过python 获取当前局域网内存在的IP和MAC
  • 解决D盘的类型不是基本,而是动态的问题
  • 如何判断自己的qt版本呢?
  • 【文心一言大模型插件制作初体验】制作面试错题本大模型插件
  • ROS 2官方文档(基于humble版本)学习笔记(二)
  • excel中公式结合实际的数据提取出公式计算的分支
  • 3D模型优化实战:LowPoly、纹理烘焙及格式转换
  • genome comparison commend 2 MCMCtree
  • Linux安装JenkinsCLI
  • Midjourney学习(一)prompt的基础
  • 12 权重衰退
  • 简化测试流程,提供卓越服务:TestComplete+Salesforce满足不断发展的企业的需求
  • kafka 命令脚本说明以及在java中使用
  • Qt应用开发(基础篇)——文件选择对话框 QFileDialog
  • 图像OCR转文字,验证码识别技术太疯狂-UI软件自动化
  • Docker:自定义镜像
  • 【Nginx22】Nginx学习:FastCGI模块(四)错误处理及其它
  • 轮毂电机单位换算-米每秒/转每分
  • 博流RISC-V芯片BL616开发环境搭建
  • Weblogic漏洞(三)之 Weblogic 弱口令、任意文件读取漏洞
  • 15 mysql tiny/meidum/long blob/text 的数据存储
  • 【方案】基于视频与AI智能分析技术的城市轨道交通视频监控建设方案