QT学习随记 (二)—— QT基础

目录

一、QT基础

二、QT按钮控件常用API

三、信号与槽

 四、自定义的信号和槽

五、当自定义信号和槽出现重载

六、lambda表达式

七、拓展


一、QT基础

命名规范
类名 首字母大写 单词和单词之间首字母大写
函数名 变量名称 首字母小写 单词和单词之间首字母大写

快捷键
注释 ctrl+/
运行 ctrl+r
编译 ctrl+b
字体缩放 ctrl+鼠标滚动
查找 ctrl+f
整行移动 ctrl+shift+↑or↓
帮助文档 F1
自动对齐 ctrl+i
同名之间的.h和.cpp切换 F4


帮助文档 第一种方式F1 第二种左侧按钮 第三种 F:\Donny\QT\6.5.2\mingw_64\bin

二、QT按钮控件常用API

1、创建按钮:QPushButton *btn = new QPushButton;

2、设置父类:setParent(this);

3、设置文本:setText("文字");

4、设置位置:move(宽,高);

5、重新指定窗口大小:resize(宽,高);

6、设置窗口标题:setWindowTitle();

7、设置窗口固定大小 setFixedSize(宽,高);

三、信号与槽

1、连接函数 connect

2、参数:

参数1:信号的发送者

参数2:发送的信号

参数3:信号的接收者

参数4:处理的槽函数(函数的地址)

3、松散耦合

4、实现点击按钮 关闭窗口的案例

 示例:

 connect( myBtn, &QPushButton::clicked, this, &QWidget::close );

 四、自定义的信号和槽

1、自定义信号(写到signals下):返回void,只需要声明,不需要实现,可以有参数,可以重载

2、自定义槽函数(写到public slot 或public 或全局):返回void,需要声明,也需要实现,可以有参数,可以重载

3、触发的自定义的信号:emit 自定义信号

4、案例:下课后,老师触发饿了的信号,学生响应信号,请客吃饭

五、当自定义信号和槽出现重载

1、需要利用函数指针,明确指向函数的地址

2、

void(Teacher:: *teacherSignal)(QString)= &Teacher::hungry;

3、QString转char*

(1) .ToUtf8()转为QByteArray

(2) .Data()转为char*

4、信号可以连接信号 connect

5、断开信号连接 disconnect

六、lambda表达式

1、[]标识符 匿名函数:  =  值传递     &  引用传递

2、()参数 

3、{}实现体

4、mutable 修饰值传递变量 可以修改拷贝出的数据但改变不了本体

5、[](){} - > int {} 返回值

6、lambda表达式最常用 [=](){} 

七、拓展

1、信号可以连接信号

2、多个信号可以连接同一个槽函数

3、信号和槽函数必须类型一一对应

4、信号和槽函数的参数个数 可以不一致 且 信号参数个数可以多于槽函数参数个数

5、信号和槽函数可以断开连接 disconnect

声明:感谢传智教育课程里面的例程,仅供本人学习,如有侵权,还请联系本人删除

相关推荐

  1. QT学习)—— QT基础

    2023-12-08 13:32:01       37 阅读
  2. vol----学习!!!

    2023-12-08 13:32:01       35 阅读
  3. Qt学习笔记(

    2023-12-08 13:32:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 13:32:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 13:32:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 13:32:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 13:32:01       18 阅读

热门阅读

  1. 一起学习云计算

    2023-12-08 13:32:01       35 阅读
  2. 我的创作纪念日

    2023-12-08 13:32:01       48 阅读
  3. Ubuntu环境下使用nginx实现强制下载静态资源

    2023-12-08 13:32:01       35 阅读
  4. Ubuntu开机出现Welcome to emergency mode解决办法

    2023-12-08 13:32:01       57 阅读
  5. Appium:iOS部署

    2023-12-08 13:32:01       34 阅读
  6. 源代码编译cuda opencv

    2023-12-08 13:32:01       37 阅读
  7. opencv学习一:namedWindow()创建和显示窗口

    2023-12-08 13:32:01       36 阅读
  8. vscode console.log快捷键

    2023-12-08 13:32:01       37 阅读
  9. Spring Boot 框架能够解决什么问题?

    2023-12-08 13:32:01       31 阅读
  10. axios创建实例对象,发送ajax请求,配置baseUrl

    2023-12-08 13:32:01       43 阅读