
Qt
文章平均质量分 76
以C++为起点介绍关于Qt软件的使用应用教程
至纯设计
凡有所学,皆成性格。
展开
-
Qt专栏之模态与非模态对话框
一、概念介绍 什么是模态对话框和非模态对话框呢?我们日常使用软件过程中很常见的现象,点击某个软件上某个按钮会弹出对话框窗口,此时对于其他窗口而言: 可以同时对其他窗口进行操作的称为非模态; 不可以同时,只能操作当前弹出的窗口的称为模态。 二、代码示例 2.1模态对话框示例代码 /*在主类对象的构造函数中我们新建一个按钮用于弹出对话框*/ QPushButton *btn = new QPushButton("new",this); /*信号与槽的连接 槽函数通过Lambda表达式实现 主要功能实现了点击原创 2021-03-31 21:00:51 · 1127 阅读 · 4 评论 -
Qt专栏之生成最终可执行(十六)
生成最终可执行文件一、链接说明二、生成可执行文件2.1生成release版本2.2链接打包库文件三、生成集成化的可执行文件 代码编写好后,怎么生成一个可执行文件呢?我们先介绍下程序链接的概念,再细说生成可执行文件的详细步骤。 一、链接说明 一般来说,我们编写的程序都不是独立的个体,需要链接使用官方的库代码或者我们自定义的库,程序链接分为: Dynamic Link 动态链接(通过链接指针互相链接) 优点:体积小,占用内存少 缺点:依赖库文件,如果库缺失,则无法运行 Static Link 静态链接(原创 2021-03-25 21:45:18 · 1509 阅读 · 2 评论 -
Qt专栏之添加资源(十五)
设计至纯原创 2021-03-21 19:03:30 · 2372 阅读 · 6 评论 -
Qt专栏之事件本质(十四)
在《事件初识》介绍了常用的事件,虽说事件有些类似中断处理机制,那么事件的本质机理是什么?在程序中如何分发的呢? 一般来说,我们在新建一个Qt工程后,main()函数中创建一个QApplication对象,最后调用它的exec()函数,开始Qt的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件。 那么当某个事件发生时,是如何跳转到对应的事件处理函数中呢? 在exec()循环监听过程中,Qt将创建一个事件对象。创建完毕之后,首先该事件是否被过滤器筛选,如没有,Qt将这个事件对象传原创 2021-03-16 21:47:39 · 1152 阅读 · 3 评论 -
Qt专栏之事件初识(十三)
事件QEvent一、事件QEvent是个啥?二、定时器事件 QTimerEvent三、绘图事件 一、事件QEvent是个啥? 通过专栏的上篇《信号与槽》初步了解了信号槽的机制,本质上信号与槽属于事件,信号是信号事件,而槽对应的则是进行处理的回调函数。 事件由系统或者Qt本身发出。例如当用户按下鼠标、敲下键盘、定时器计时等情况,都会发出一个相应的事件。然后可直接在对应的事件处理函数中进行处理。 类比于信号与槽的机制就是事件本身是信号,事件处理函数类比于槽函数来理解。 常用的事件(向右滑动➡️) 对原创 2021-03-15 21:59:33 · 1315 阅读 · 4 评论 -
Qt专栏之信号与槽(十二)
Qt专栏之信号与槽(十二)信号与槽是什么?信号与槽怎么用?信号与槽的扩展注意点! 信号与槽是什么? 信号与槽是 Qt 编程中的基础也是核心机制。 信号和槽是啥呢?举个通俗易懂的例子,在小小编上学的时候,老师上课时看到我在底下偷偷吃东西,使了个眼色瞪了下我,小小编立马坐正,佯装专心听课 ????。 此处,老师是一个对象,老师发出了瞪眼(信号),小小编接受到了,执行了停止吃东西的动作(槽)。 信号指的是对象的状态改变时,信号就可以被发出,信号可以有很多,例如老师可以选择下来暴揍我一顿,或者即使看到我在吃原创 2021-03-05 20:20:33 · 685 阅读 · 4 评论 -
Qt专栏之对象树(十一)
Qt对象树 对象树简化了Qt中内存的回收机制,Qt中对象树逻辑结构示意图如下: QObject几乎是所有Qt类的直接或间接的父类,QObject是以对象树的形式组织起来的。 在Qt中创建任意对象都会提供一个Parent对象指针指向父对象,直接或间接指向QObject对象的,会被父对象自动添加到其父对象的children()列表,当父对象析构的时候,这个列表中的所有对象也会被析构。 这样我们就不需要计算一些组件的内存是否被释放掉,只要父类释放了,其子对象的内存都会被析构释放,简化了内存回收机制。 所以在定原创 2021-03-03 19:42:37 · 632 阅读 · 3 评论 -
Qt专栏之常用方法技巧(十)
常用的方法 窗口API: 设置窗口标题: setWindowTitle(“标题”); 设置固定窗口大小: setFixdSize(宽,高); 重新指定窗口大小: resize(宽,高); QDebug调试方法: 包含库 < QDebug > 调试输出信息: qDebug() << “标记位置输出信息”; QStringList nameList; QList<QString> nameList; //上面两个是等价的 nameList<<"姓名1原创 2021-02-23 19:12:49 · 1107 阅读 · 4 评论 -
Qt专栏之常用控件(九)
Qt专栏之常用控件(九)1.按钮控件2.标签控件3.文本控件 构成一个Qt软件需要很多控件,例如: 按钮控件 标签控件 文本控件 这里先介绍一些常用的,建立印象。更多的可看官方Qt助手。 我们先按照《Qt专栏之界面及工程(六)》新建一个Qt工程。。。 1.按钮控件 按钮的新建: 点击运行,即可生成一个有按钮的窗口: 按钮常用的方法: 设置父类 setParent(this);//一般设置为当前基类为父类,这样可以利用对象树回收机制回收内存 设置文本 setText("这是一个按钮");原创 2021-02-10 21:29:58 · 1248 阅读 · 4 评论 -
Qt专栏之从贪吃蛇说起(八)
Qt项目 从贪吃蛇说起 用纯代码实现一个贪吃蛇游戏,这个项目包含了一个基本Qt应用的主线知识,公众号后台回复贪吃蛇源码获取贪吃蛇源码+安装程序。 安装程序可直接运行,可以先下载玩玩呢(●’◡’●) 源码程序导入工程时,记得在项目中点击Configure Project配置环境导入工程。 开发一个(纯C++)Qt的应用需要如下知识点: 分析对应项目应用的需求点,需要使用哪些控件,控件的使用(例如按钮控件、标签控件等) Qt软件机制基础知识:对象树、信号与槽机制、事件、线程等; 操作技巧及方法,例如常用原创 2021-02-07 22:00:16 · 1098 阅读 · 8 评论 -
Qt专栏之Qt工程分解(七)
Qt专栏之Qt工程分解(七)一、工程结构二、项目描述文件 一、工程结构 按照《Qt专栏之界面及工程(六)》新建默认工程后(勾选创建界面),工程树如下图所示: 以上例工程分析,工程树的结构为: 各文件含义如下: 文件名 文件用途 T2.pro 项目描述文件:对项目的管理及设置配置 Header 项目内所有头文件.h Sources 项目内所有源文件.cpp Forms 项目内所有界面文件(XML):存储窗体上的元件及其布局 我们可以看到实际存储路径下文件夹内还有一个T2.原创 2021-02-02 21:26:13 · 464 阅读 · 1 评论 -
Qt专栏之界面及工程(六)
Qt专栏之界面及工程(六)一、Qt界面介绍二、新建一个工程 一、Qt界面介绍 通过《Qt专栏之Qt初识(五)》,我们安装了Qt集成开发环境。双击Qt Creator 4.3.0 (Community).exe打开软件: Qt里面提供了很多示例程序,我们可以随机选择一个示例项目玩一玩,学习都是从模仿开始的,例如: 关于工具栏的分类解释如下: 名称 作用 欢迎 欢迎界面内提供新建工程、示例工程、教程、帮助主题等 编辑 项目源码的编写界面 设计 用于窗体设计 Debug 项目源码的原创 2021-01-30 21:29:05 · 1694 阅读 · 7 评论 -
Qt专栏之Qt初识(五)
Qt专栏之Qt初识(五)一、Qt是什么二、Qt是否收费三、下载安装方法四、小游戏演示 一、Qt是什么 常规的说法是Qt是一个跨平台的开发库,主要用来开发图形界面程序,当然也可以开发命令行程序。说白了就是用来创建软件的软件。 用Qt开发出了众多软件,例如WPS、YY、Autodesk、咪咕音乐等: Qt平台使用的开发语言: C++ (全部都可以,包括底层驱动+界面设计) QML (只针对UI交互界面) 因此,强烈建议选择C++ 二、Qt是否收费 Qt可以做上位机PC原创 2021-01-28 20:50:55 · 3961 阅读 · 11 评论 -
Qt专栏之C++预习篇(四)
Qt专栏之C++预习篇(四)C++的秘密1.C++对象内存模型2.泛型编程3.异常设计规范C++设计规范 用Qt写上位机软件真的超级方便,小小编在这边分享一些如何从零开始通过Qt来制作上位机软件。 我们预习回顾下Qt使用的编程语言,本文旨在阐述C++的设计规范以及补充速记点 C++的秘密 1.C++对象内存模型 对象模型的底层实现机制由于编译器的不同并未实现标准化。推荐一篇详细的好文章(篇幅较长,耐心看完,定有收获): C++对象模型:https://www.cnblogs.com/developin原创 2021-01-24 22:28:09 · 1018 阅读 · 2 评论 -
Qt专栏之C++预习篇(三)
Qt专栏之C++预习篇(三)C++的秘密1.C++引用2.RTTI机制3.函数调用的开销知识速记小知识点 用Qt写上位机软件真的超级方便,小小编在这边分享一些如何从零开始通过Qt来制作上位机软件。 我们预习回顾下Qt使用的编程语言,本文旨在阐述C++的设计规范以及补充速记点 C++的秘密 1.C++引用 C/C++禁止在函数调用时直接传递数组的内容,而是强制传递数组指针。在C++中,有一种比指针更为便捷的传递聚合类型数据的方式,就是引用(Reference) 引用可以看做是数据的一个别名,通过这原创 2021-01-24 22:26:35 · 374 阅读 · 0 评论 -
Qt专栏之C++预习篇(二)
Qt专栏之C++预习篇(二) C++的秘密1.继承时的重名遮蔽2.cin cout为内置对象3.内联函数inline知识速记扩展概念速记点 用Qt写上位机软件真的超级方便,小小编在这边分享一些如何从零开始通过Qt来制作上位机软件。 我们预习回顾下Qt使用的编程语言,本文旨在阐述C++的设计规范以及补充速记点 C++的秘密 1.继承时的重名遮蔽 基类成员和派生类成员的名字一样时会造成遮蔽,对于成员函数要引起注意,不管函数的参数如何,只要名字一样就会造成遮蔽。也就是说基类成员函数和派生类成员函数不会构成原创 2021-01-24 22:21:55 · 430 阅读 · 0 评论 -
Qt专栏之C++预习篇(一)
Qt专栏之C++预习篇(一)C与C++的不同点编程范式的不同:规范的不同C++笔记速背点 用Qt写上位机软件真的超级方便,小小编在这边分享一些如何从零开始通过Qt来制作上位机软件。 我们预习回顾下Qt使用的编程语言,如果有C++基础的话可以稍稍看看,本文旨在C语言基础上阐述C++的不同点及基本概念速记 C与C++的不同点 编程范式的不同: C++ 同时支持全部的四种编程范式,分别是 : 面向过程 面向对象:(抽象、封装、继承、多态性) 面向对象的思想 是什么:客观事件是由各种各样的对象构成原创 2021-01-24 22:18:35 · 935 阅读 · 9 评论