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

发布时间 2023-11-15 21:41:16作者: 游客0721

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