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