qt基础
原文地址 zhuanlan.zhihu.com
qt基础
目录收起pri 用于模块化项目对象树信号与槽机制:观察者模式connect函数自定义信号槽总结lambda表达式QMainWindow菜单栏:只有一个工具栏:可有多个状态栏:只有一个铆接部件:浮动窗口核心(中心)部件:除以上部件外资源文件背景图片UI对话框布局打包.exe
pri 用于模块化
为了将Qt工程中的大型项目分组开发,将项目分成多组文件,每个文件负责一种或多种功能
分组的实现方法:
1、在工程目录下创建分组文件夹, eg:network文件夹
2、分组目录下创建分组.pri文件 , eg:network.pri
3、在.pro工程文件中添加.pri文件,添加方法, eg:include($$PWD/network/network.pri)
4、构建工程使出现.pri分组,接下来就可以在.pri工程中添加相应的文件了
项目
对象树
信号与槽机制:观察者模式
信号槽是 Qt 框架引以为豪的机制之一。熟练使用和理解信号槽,能够设计出解耦的非常漂亮的程序,有利于增强我们的技术设计能力。
所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,用自己的一个函数(成为槽(slot))来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。这就类似观察者模式:当发生了感兴趣的事件,某一个操作就会被自动触发。(这里提一句,Qt 的信号槽使用了额外的处理来实现,并不是 GoF 经典的观察者模式的实现方式。)
connect函数
- // !!! Qt 5
- connect(sender, signal, receiver, slot);
自定义信号槽
- signals:// 定义信号函数
- public slots:// 定义槽函数
- emit // 发送信号:调用定义的信号函数
总结
lambda表达式
QMainWindow
菜单栏:只有一个
工具栏:可有多个
状态栏:只有一个
铆接部件:浮动窗口
核心(中心)部件:除以上部件外
资源文件
背景图片
UI
对话框
布局
Qt 提供的布局中以下三种是我们最常用的:
- QHBoxLayout:按照水平方向从左到右布局;
- QVBoxLayout:按照竖直方向从上到下布局;
- QGridLayout:在一个网格中进行布局,类似于 HTML 的 table;
弹簧的作用:例如添加一个按钮之后再水平布局会发生变化(被拉伸),弹簧的作用就是固定
打包.exe
weindeplayqt macdeployqt linuxdeployqt 各平台分别打包
编辑于 2023-04-14 15:00・IP 属地山东开启赞赏赞赏开启后,读者将可以付费支持你的创作。qt赞同添加评论分享喜欢收藏设置