qt基础

原文地址 zhuanlan.zhihu.com

qt基础

残枫cps残枫cps

​目录收起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函数

  1. // !!! Qt 5
  2. connect(sender, signal, receiver, slot);

自定义信号槽

  1. signals:// 定义信号函数
  2. public slots:// 定义槽函数
  3. emit // 发送信号:调用定义的信号函数

总结

lambda表达式

QMainWindow

菜单栏:只有一个

工具栏:可有多个

状态栏:只有一个

铆接部件:浮动窗口

核心(中心)部件:除以上部件外

资源文件

背景图片

UI

对话框

布局

Qt 提供的布局中以下三种是我们最常用的:

  1. QHBoxLayout:按照水平方向从左到右布局;
  2. QVBoxLayout:按照竖直方向从上到下布局;
  3. QGridLayout:在一个网格中进行布局,类似于 HTML 的 table;

弹簧的作用:例如添加一个按钮之后再水平布局会发生变化(被拉伸),弹簧的作用就是固定

打包.exe

weindeplayqt macdeployqt linuxdeployqt 各平台分别打包

编辑于 2023-04-14 15:00・IP 属地山东开启赞赏赞赏开启后,读者将可以付费支持你的创作。qt​赞同​添加评论​分享​喜欢​收藏​设置

posted @ 2023-04-21 10:07  cps666  阅读(16)  评论(0编辑  收藏  举报