内容摘要:文章中主要介绍了Qt的窗口布局以及使用, 主要内容包括: 布局的样式, 基于UI界面设置布局, 基于API设置布局。 文章中除了关于知识点的文字描述、代码演示, 还有相关的视频讲解。
1. 布局的样式
Qt窗口布局是指将多个子窗口按照某种排列方式将其全部展示到对应的父窗口中的一种处理方式。在Qt中常用的布局样式有三种,分别是:
布局样式
描述
行数
列数
水平布局
布局中的所有的控件水平排列
1行
N列(N>=1)
垂直布局
布局中的所有的控件垂直排列
N行(N>=1)
1列
网格(栅格)布局
布局中的所有的控件垂直+水平排列
N行
N列 (N>=1)
1234567891011有问有答: 1. 控件的位置可以通过坐标指定, 为什么还要使用布局? - 坐标指定的位置是固定的, 当窗口大小发生改变, 子窗口位置不会变化 - 使用坐标指定子窗口位置, 这个控件可能会被其他控件覆盖导致无法显示出来 - 使用布局的方式可以完美解决以上的问题 - 一般在制作窗口的过程中都 ...
内容摘要:文章中主要介绍了Qt中常用的窗口类, 主要内容包括: 窗口类的基类QWidget, 对话框基类QDialog, 带菜单栏工具栏状态栏的QMainWindow, 消息对话框QMessageBox, 文件对话框QFileDialog, 字体对话框QFontDialog, 颜色对话框QColorDialog, 输入型对话框QInputDialog, 进度条对话框QProgressDialog, 资源文件。 文章中除了关于知识点的文字描述、代码演示, 还有相关的视频讲解,开始学习。。。
1. QWidget
QWidget类是所有窗口类的父类(控件类是也属于窗口类), 并且QWidget类的父类的QObject, 也就意味着所有的窗口类对象只要指定了父对象, 都可以实现内存资源的自动回收。在1.1 Qt入门章节中已经为大家介绍了QWidget的一些特点, 为了让大家能够对这个类有更深入的了解, 下面来说一说这个类常用的一些API函数。关于这个窗口类的属性介绍, 请参考容器控件之QWidget。
1.1 设置父对象123456789// 构造函数QWidget::QWidg ...
在进行窗口程序的处理过程中, 经常要周期性的执行某些操作, 或者制作一些动画效果,看似比较复杂的问题使用定时器就可以完美的解决这些问题, Qt中提供了两种定时器方式一种是使用Qt中的事件处理函数这个在后续章节会给大家做细致的讲解,本节主要给大家介绍一下Qt中的定时器类 QTimer的使用方法。
要使用它,只需创建一个QTimer类对象,然后调用其 start() 函数开启定时器,此后QTimer对象就会周期性的发出 timeout() 信号。我们先来了解一下这个类的相关API。
1. public/slot function12345678910111213141516171819202122232425262728293031323334// 构造函数// 如果指定了父对象, 创建的堆内存可以自动析构QTimer::QTimer(QObject *parent = nullptr);// 设置定时器时间间隔为 msec 毫秒// 默认值是0,一旦窗口系统事件队列中的所有事件都已经被处理完,一个时间间隔为0的QTimer就会触发void QTimer::setInterval ...
内容摘要:文章中主要介绍了Qt中的信号槽, 主要内容包括: 信号槽的本质, 信号槽的关系, 标准信号槽的使用, 自定义信号槽的使用, 信号槽的拓展, Lambda表达式。 文章中除了关于知识点的文字描述、代码演示, 还有相关的视频讲解,赶紧学起来吧。
1. 信号和槽概述
信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式(发布-订阅模式)。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。这就类似观察者模式:当发生了感兴趣的事件,某一个操作就会被自动触发。
1.1 信号的本质
信号是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时候Qt对应的窗口类会发出某个信号,以此对用户的挑选做出反应。
因此根据上述的描述我们得到一个结论 – 信号的本质就是事件,比如:
按钮单击 ...
内容摘要:文章中主要介绍了Qt中常用的数据类型, 主要内容包括: 基础数据类型, Log日志输出, 字符串类型, QVariant, 位置和尺寸相关类型, 日期和时间相关类型。 文章中除了关于知识点的文字描述, 还有相关的视频讲解,下面开始学习。。。
1. 基础类型因为Qt是一个C++ 框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型。
QT基本数据类型定义在#include <QtGlobal> 中,QT基本数据类型有:
类型名称
注释
备注
qint8
signed char
有符号8位数据
qint16
signed short
16位数据类型
qint32
signed short
32位有符号数据类型
qint64
long long int 或(__int64)
64位有符号数据类型,Windows中定义为__int64
qintptr
qint32 或 qint64
指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统 ...
内容摘要:文章主要是为初学者介绍Qt框架的一些基本特性, 主要内容包括: Qt的特点, Qt中的模块划分, Qt的安装, Qt项目文件介绍, Qt中的窗口类, Qt窗口的坐标体系, Qt框架的内存回收机制。 文章中除了关于知识点的文字描述, 还有相关的视频讲解 。
1. Qt概述1.1 什么是Qt
不论我们学习什么样的知识点首先第一步都需要搞明白它是什么,这样才能明确当前学习的方向是否正确,下面给大家介绍一下什么是Qt。
是一个跨平台的C++应用程序开发框架
具有短平快的优秀特质: 投资少、周期短、见效快、效益高
几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发
有属于自己的事件处理机制
可以搞效率的开发基于窗口的应用程序。
Qt是标准 C++ 的扩展, C++的语法在Qt中都是支持的
良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,可以快速上手。
Qt 提供了一种称为 signals/slots 的安全类型来替代 callback(回调函数),这使得各个元件 之间的协同工作变得十分简单。
1.2 Qt的特点
知道了Qt是什么之后,给大家介 ...