首页 > 编程语言 >第6章 Qt GUI--界面编程基础

第6章 Qt GUI--界面编程基础

时间:2023-11-15 21:46:51浏览次数:37  
标签:clicked Qt -- GUI 点击 信号 pushButton 函数

Qt GUI--界面编程基础

image
image
image
image
image

认识设计师界面--每个窗口的功能及用法

image
image
image
在UI设计师界面设计的属性会被QTwidget设计在这里面
image
拖动拖放试试看
image

image
image
image
属性是根据基础的父类从上到下排序的
image
编辑和信号槽模式

核心--信号槽的理解与应用(这里比较粗糙)

QT和其他GUI框架最大的区别
image
image
红灯是信号,看到红灯就走的行为就是槽
image
查询帮助文档,在文件中以及有对应的类,F1查看其可帮助文档
image
一个红绿灯可以发出三种颜色信号,接受者是人可以做出三种不同的行为,可以有很多人看到红绿灯,同样人也可以发出不同的信号给其他人
image
image
image
image
image
为了方便可以建立索引
image
image
查找要使用索引
image
第五个参数多线程会介绍
image
image
image
image
信号函数体可以为空,只起到一个通知的作用 自带信号不需要声明,自建信号需要声明,connect接收者可以是信号转接给主窗口或者控件在下一个connect发送者中使用,emit是QT框架提供的关键字,用了实现信号与信号之间的转发
根据创建的控件需要实现的代码逻辑管理明确发出者和接受者的对象,事先使用ui-》对象或者this主窗口,接受者一般是this主窗口
image

连接信号槽--三大写法

image
功能:点击的时候会触发自建信号
第一种写法
image
image
image
image
点击的时候会发送信号给发送者使用
on_pushButton_clicked() 函数是一个槽函数,用于处理按钮点击事件。在你的代码中,它是通过按钮的点击信号来触发的。
当你在界面上点击按钮(pushButton)时,按钮会发出一个点击信号(clicked()),然后这个信号会被连接到 on_pushButton_clicked() 槽函数,从而触发了 on_pushButton_clicked() 函数的执行。
在你提供的代码中,on_pushButton_clicked() 函数内部使用 emit 关键字发出了一个名为 printLog 的信号,并传递了整数参数1。
通过调用 connect 函数,将发送信号的对象的信号与接收信号的对象的槽函数进行了连接。具体地说,这行代码的作用是将 this 对象的 printLog 信号与 this 对象的 onPrintLog 槽函数进行了连接。
当发出 printLog 信号时,与之连接的 onPrintLog 槽函数会被触发执行。

第二种写法
image
信号和槽的宏改成函数指针,前面有个取地址符,简单易懂就是类+方法

第三种写法
image

宏的错误在编译期间无法发现错误,运行时才可以,所以函数指针更加安全d
image
但是
image
在使用函数指针的是有由于valuechange有重载版本编译器无法辨别所以需要强制转换,宏可以直接选择重载哪个重载版本
image

连接信号槽--自动绑定

image
image
发送者的信号和接受者的槽
image
image
image
连线后会自动被添加在导入的头文件里
类似6-3这种
image
image
image
添加这个槽后
image
再执行槽需要执行的image
函数就行了
这种情况会在头文件出现自动绑定的声明
image
image
image
image
如果改变对象的名称也需要改变槽函数的名称
image

本章小结

image
image
image
image

标签:clicked,Qt,--,GUI,点击,信号,pushButton,函数
From: https://www.cnblogs.com/Gal0721/p/17831987.html

相关文章

  • 第2.3章 学前须知、环境搭建、IDE基本认识
    第二章学前需知QT框架介绍QT有统一的API接口来适应不同的语言和平台,直接使用配套的代码编译。像MFC就不行根据类名来理解作用就不会觉得别扭用来做其他领域的胶水框架跨领域必备框架第三章Qt开发环境搭建本章导学不同的操作系统有不同的编译器编译器链接器......
  • 零基础机器学习数字识别MNIST(on going)
    本人之前并未涉及机器学习,但是在嵌入式中都会涉及视觉,借校内比赛从零学习,进行MNIST数字识别模型的搭建。随着学习进度更新,每天更新。2023-11-1521:38:55星期三一、环境搭建进行本模型的搭建,需要以下内容:Python环境:利用Anaconda管理开源机器学习平台:PyTorch或Tensorf......
  • g2o(2)求解曲线y=ax2+bx+c
     https://mp.weixin.qq.com/s?__biz=MzIxOTczOTM4NA==&mid=2247486858&idx=1&sn=ce458d5eb6b1ad11b065d71899e31a04&chksm=97d7e81da0a0610b1e3e12415b6de1501329920c3074ab5b48e759edbb33d264a73f1a9f9faf&scene=21#wechat_redirect简要流程0-0获取数据x和y......
  • 空对象转换为布尔类型为true
    以下结语句中,返回true的是?A!![]B1===’1’Cnull===undefinedD!!’’正确答案:AJavaScript有五个基本类型:number、string、null和undefined。其中null和undefined以外,其他三个具有所谓的包装对象,可以通过内置构造函数Number()、String()、Boolean()创建包装对象。选项A,ja......
  • 如何在 Linux 上部署 RabbitMQ
    如何在Linux上部署RabbitMQ目录如何在Linux上部署RabbitMQ安装Erlang从预构建的二进制包安装从源代码编译ErlangRabbitMQ的安装使用RabbitMQAssistant连接RabbitMQAssistant是一款优秀的RabbitMQ可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisan......
  • Mysql数据库查询之模糊查询
    一、什么是模糊查询模糊查询是根据一定的模式匹配规则,查找与指定条件相似或相符的数据。二、模糊查询实操通配符查询1、%表示任意0个或多个字符形式一:select查询字段from表名where字段like’%’代码演示查询结果 形式二:select查询字段from表名where字段like......
  • eval 将会返回对最后一个表达式的求值结果
    JS中存在块语句,那么请问以下块语句的集合最终输出的值是多少?eval(`{1+3;a=2;x:breakx;3;4+6;;}`)A4BundefinedC10D3正确答案:C在块中多个语句执行时,一般后者会覆盖前者,但是;和break的返回值都是empty,无法覆盖任......
  • fltk-rs如何捕获特定按键
    Rust语言这里演示了使用handle函数捕获“E”和向下键。usefltk::{prelude::*,*,window::Window,app::event_key};fnmain(){letapp=app::App::default().with_scheme(app::Scheme::Gleam);letmutwind=Window::default().with_size(100,100);letmu......
  • pgrep基础使用
    说明pgrep和pkill命令某种程度上可以理解成psaux|grep[pattern]的别名。pgrep就是找出所有符合pattern的processid,这个p实际上process的意思。pgrep用法同grep,用来过滤所有符合字符串模板的进程,并获取他们的pid。pkill同理。选项-u限定进程的所属用户。多个用户使......
  • django南京某高校校园外卖点餐系统-计算机毕业设计源码+LW文档
    摘 要系统根据现在南京某高校校园外卖点餐现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对南京某高校校园外卖点餐的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”......