![](https://img-blog.csdnimg.cn/60ae36a8fae742ab9fa74167229d66cc.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
小生聊【Qt】
文章平均质量分 79
本专栏将记录关于Qt的相关内容,内容主要包含以下:
1、对Qt技术的一些用法介绍
2、最新Qt的动态
3、Qt开源项目
iriczhao
软件工程师一枚。读书时搞过Web开发,对html + css + JavaScript开发栈有一定了解。毕业后,成了一名软件工程师,主要研究和学习MCU端软件的开发、嵌入式Linux内核、嵌入式Linux应用软件的开发。做过可穿戴设备、物联网设备、医疗控制设备的软件开发;对人工智能、物联网、智能家居、5G技术等领域同样有着浓厚兴趣。
茫茫人海中,您无意识的一眼凝眸皆是缘分,如果您有想说的话,欢迎与我交流(iriczhao@163.com);如果您发现了分享的文章出现了错误,请您多拍砖,小生将自觉改正。
展开
-
如何在Windows下搭建Qt安卓开发环境?
本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上需要注意,否则QtCreator会检测不到正确/合适的Android开发环境。原创 2023-03-13 22:10:35 · 1185 阅读 · 1 评论 -
【Qt】Qt 隐式共享
Qt中的许多C++类使用隐式数据共享来提高资源使用并减少数据复制。当这些类作为参数传递时,因为只传递一个指向数据的指针,并且只有当函数写入数据时数据才会被复制,即,隐式共享类是安全、高效的。 共享类由一个指向包含引用计数和数据的共享数据块的指针组成。 当创建共享对象时,它将引用计数设置为1。每当有新对象引用共享数据时,引用计数就递增,当对象解引用共享数据时,引用计数就递减,当引用计数变为零时,将删除共享数据。 在处理共享对象时,有两种方法复制对象。深度拷贝和浅拷贝。原创 2023-02-12 22:46:39 · 2869 阅读 · 0 评论 -
【Qt】如何在Qt应用程序中使用设计好的UI文件
本文描述如何在编译的时候使用ui文件。描述ui文件背后的机制,以及如何在应用程序中使用设计好的ui文件。原创 2023-01-29 23:08:28 · 3992 阅读 · 0 评论 -
【Qt】如何使用QtCreator向工程添加文件
本文主要描述了QtCreator中的『新文件创建向导』下各个选项的用途。基于QtCreator版本:```8.0.1```原创 2023-01-23 10:08:31 · 6283 阅读 · 0 评论 -
【Qt】一文总结新工程的创建
在使用Qt进行项目开发过程中,```QtCreator```是一款流行多年的必备开发利器,本文基于QtCreator这款IDE,描述其『新文件和新工程』创建向导中各选项的含义,还简要分析使用QtCreator内部自带模板创建出的基础工程。原创 2023-01-17 20:54:47 · 1267 阅读 · 0 评论 -
嵌入式Qt | 如何交叉编译Qt模块
在硬件板卡提供商提供的嵌入式linux平台下的Qt环境中,很多时候会不太适合实际的开发场景:(1)可能一些Qt的模块不支持。这时候要么找厂家,要么自己编译。(2)在厂家提供的平台开发环境中,支持的东西太多,太杂,导致整个文件系统镜像太大。这时候为了减小根文件系统,往往需要自己集成和编译开发环境。(3)不同版本Qt编译构建出的库文件,一般会不兼容,需要针对特定版本进行交叉编译。本文主要是记录在Qt源码跨平台源码编译构建过程中的一些注意点以及自己的思考。原创 2022-10-11 22:41:06 · 4124 阅读 · 1 评论 -
嵌入式Qt开发—Excel表格数据导出
以上过程是在Ubuntu18.04下进行,如果想让QtXlsxWriter运行于嵌入式linux平台上,只需要在QtCreator中选择编译构建套件时,选择对应的交叉编译套件,在编译完成后,将构建出的库文件复制到Linux的链接库目录下(一般为。将构建完成后的目录下的bin、include、lib、mkspecs、src目录拷贝到Qt的安装目录下,以在QtCreator中可以使用。注:由于在ubuntu编译构建,没有安装能打开xlsx的应用软件,故将其拷贝到Windows下使用wps打开。原创 2022-10-09 20:39:57 · 1434 阅读 · 0 评论 -
【Qt】QtCreator中『设计』按钮是灰色的怎么办?
在QtCreator中,对于xxx.qml、xxx.ui.qml文件都是可以通过『设计』打开的,只是xxx.qml很多时候是没有任何2D或者3D显示效果的。但是如果在新安装QtCreator的时候没有安装对应插件,xxx.qml、xxx.ui.qml则无法打开。依次打开:帮助->关于插件。然后重新启动QtCreator即可。原创 2022-09-05 20:35:05 · 8254 阅读 · 8 评论 -
【Qt】一文总结Qt5.15的在线安装
最近由于更换了硬盘,需要重新安装Qt的开发环境啦,本文记录整个Qt5.15环境的搭建过程,在此一文奉上。整个Qt环境安装过程大约花了一个小时,完成后,在Windows的『开始』菜单中也可以找到对应的快捷方式。原创 2022-09-05 08:56:52 · 6605 阅读 · 2 评论 -
【王者工具-Valgrind】Valgrind_Memcheck工具使用总结(01)
Valgrind是一个工具框架,可以检测许C和C++程序中与内存相关的错误,这些错误很常见,可能会导致程序崩溃和不可预测的行为。该框架由许多工具组成,每个工具执行某种类型的调试、分析等任务。对于Valgrind来说,其内部设计是高度模块化的,所以可以很容易创建出新的工具而不会影响已经存在的工具。在实际工程项目开发设计的全生命周期中,Valgrind工具会经常使用到。目前Valgrind发行版主要包括7个产品级别的工具。...原创 2022-08-11 21:16:56 · 1111 阅读 · 0 评论 -
【Qt】ubuntu下Qt开发环境的搭建
在打开示例工程的过程中,由于示例工程的源码是安装到根目录(/opt/)下的,所以不具有写权限,这时候QtCreator会弹窗提示,我们可以选择将其复制到家目录下自定义的目录中即可。如果是新安装的ubuntu操作系统,需将软件包源更换为国内对应ubuntu版本下的源,方便软件包的安装。注意如果不是以sudo进行安装,则不能在根目录(/)下创建目录,Qt默认安装路径目录也不是在。上图红框中是必须选择的,其他的组件就根据自己的实际需要选择啦,此处我选择了。方式进行安装,或者根据具体的依赖提示进行处理。......原创 2022-07-30 10:34:03 · 3544 阅读 · 0 评论 -
【Qt】在程序运行时加载共享库并解析调用库中函数
一个QLibrary对象的实例操作一个共享的对象文件(我们称之为“库”)。在Qt中,QLibrary以平台独立的方式提供了对库中功能的访问。我们可以在构造函数中传递库文件名,也可以使用setFileName()显式地设置库文件名。当加载库时,QLibrary会搜索操作系统下特定的库位置(例如Unix系列操作系统上的LD_LIBRARY_PATH),除非文件名使用了绝对路径。如果文件名是绝对路径,则会先尝试加载该路径下的库。如果找不到库文件,QLibrary使用不同平台特定的文件前缀(如Unix和Mac上的“原创 2022-07-10 09:53:49 · 1056 阅读 · 0 评论 -
【Qt】一文总结QtCreator中MSVC编译套件
在QtCreator中使用MSVC编译套件构建项目时,在Kits对话框中编译器一栏会识别出许多MSVC编译套件,在实际项目开发中,如何选择这些编译套件呢,本文就这个问题展开,主要内容如下:(1)描述Visual Studio下的命令行工具的环境变量和几种命令提示符。(2)描述Visual Studio的命令文件。(3)描述QtCreator对MSVC编译套价的识别。(注1:本文的前提是已经完成对Visual Studio集成开发工具的安装,如果没有安装,QtCreator将会找不到MSVC相关的编译套件!)原创 2022-06-18 17:29:15 · 4779 阅读 · 0 评论 -
【Qt】一文总结Qt表格项目的代理类
软件设计中,表格是一种常用的数据呈现控件,然而在实际的项目中,会出现对表格中的单行数据操作的情况:例如可能会编辑表格、删除表格数据等。这两个操作方式在设计中,可能会同时放在数据表格的行当中。例如如下图所示的效果:在上图中,左侧是一列选择框、最右侧的每一个表格单元中都放置了两个按钮,表示对该行数据的操作。本文,将描述在Qt中,如何使用Qt提供的表格代理类来实现这种功能。效果走一波:(注)本文只描述左侧选择框代理类的实现。首先来看看Qt提供的代码类。在开发中,常使用、代理类。(1)QItemDelegate:原创 2022-06-01 22:24:49 · 1939 阅读 · 3 评论 -
【Qt】一文总结Qt控件模块化设计思想
设计思想以哲学的角度来看的话,是方法和思路的集成。那么方法和思路则可以使用过程来描述,俗称流程逻辑,做软件开发的,可能对这方面就更加的熟悉和敏感,言归正传,不扯远了,本文描述Qt中控件的模块化设计思想,这种思想并不是Qt独有的,而是软件中常见的设计思想和方法。Qt是C++的框架,则与生俱来“面向对象”的设计思想,什么是面向对象的设计思想,每个人对其理解都不一样,很多会说继承、封装、多态等,对这三个词语我想每一个人都有不同的理解,可能工作实践了多年,才有所领悟,本文就不聊什么是面向对象的设计思想了,这里面太深原创 2022-05-31 22:45:17 · 1204 阅读 · 0 评论 -
【思想落地】一文分享Qt界面的设计与开发
文章目录一、开篇二、软件界面功能分析三、界面实现(3-1)从界面整体角度规划功能和切片(3-2)顶部时间参数的处理(3-3)左侧/右侧按钮控制区(3-4)中央传感器显示(3-5)底部控制区四、总结一、开篇Qt作为一个功能强大的软件开发工具,开发软件对于开发人员来说非常友好,本文小生分享一个具体的界面开发过程和思路。本文不会涉及具体的代码实现,而是重点描述软件界面的实现和实现思路。先来看看实现的界面的样子吧:上图是一个医疗手术大屏系统的中央控制操作界面。总体来说,该界面主要有两大类功能:传感器参数显原创 2022-05-28 22:56:26 · 10642 阅读 · 0 评论 -
【Qt】使用图形视图框架实现交互轮播图标效果一例
一、简介最近有有一个Qt效果需求,类似于图片轮播的效果,但是其中的图标或者说是图标可以被鼠标点击、手指触摸,从而进行相对应的逻辑处理。于是乎使用Qt进行了实现,本文给出一个实现思路和一个大致的效果。效果走一波二、核心思路(1)使用Qt的图形视图框架来完成。使用这一点比较方便也较为容易实现。(2)使用QGraphicsEffect来对图形框架中的图形项进行模糊。(2)使用QPropertyAnimation属性动画来进行场景中图形项的动画操作。三、核心代码(3-1)【模糊效果类:Blur原创 2022-05-27 22:11:33 · 796 阅读 · 0 评论 -
【Qt】QSlider样式定制
一、背景QSlider空间是Qt官方的控制控件,在项目开发中,很多地方都会使用到这个控件作为滑动块,我们可以使用样式表来定制QSlider的显示样式,从而满足多种开发需求。一个QSlider包括以下三个部分:(1)滑动过的槽(2)滑块(3)未滑动过的槽在实际开发中,我们需要定制:滑动过的槽、滑块效果、未滑动过的槽的效果。二、样式表参考/*horizontal :水平QSlider*/QSlider::groove:horizontal { border: 0px solid #bb原创 2022-05-17 21:21:37 · 4794 阅读 · 1 评论 -
【Qt】Qt调节Windows声音和亮度
一、效果走一波二、核心思路与实现(1)对于Windows声音的调节,使用Windows系统API来控制,核心代码如下:bool CustomSlider::SetVolumeLevel(int level){ HRESULT hr; IMMDeviceEnumerator* pDeviceEnumerator = 0; IMMDevice* pDevice = 0; IAudioEndpointVolume* pAudioEndpointVolume = 0;原创 2022-05-16 22:43:19 · 1511 阅读 · 0 评论 -
【Qt】分享一个Qt3D开发小案列
一、开篇当在软件界面中加入3D元素,能够使软件的设计用途和效果更加具体,用户的视觉体验效果也较好,例如下图所示的界面效果:本文以上图为效果原图,分享Qt的3D开发的一些步骤和过程总结。二、...原创 2022-05-15 19:06:49 · 5028 阅读 · 2 评论 -
【Qt】一文总结图形视图框架基础
文章目录一、Graphics View框架结构特点二、图形视图框架的结构三、图形视图框架的坐标系统(3-1)场景坐标(3-2)视图坐标(3-3)图元坐标四、类关系五、类图(5-1)图形效果类图(5-2)图形布局类图(5-3)图形项类图六、图形视图框架的事件处理与传播七、总结一、Graphics View框架结构特点(1)在Graphics View框架结构中,可以利用Qt绘图系统的反锯齿、OpenGL工具来改善绘图性能。(2)Graphics View支持事件传播体系结构,可以使用图元在场景(Scen原创 2022-05-14 11:22:24 · 2246 阅读 · 0 评论 -
【Qt】关于大屏开发的总结和一个大屏显示(原型)
(一)开篇本文主要分享关于【大屏显示】软件UI开发的一些心得以及分享一个实际的大屏软件原型。对于大屏软件来说,笔者认为最为重要、核心点就是【如何将数据呈现给用户】,围绕这一点,将进行许多的数据采集、数据抽象和整理操作。Qt作为老牌且目前比较火的软件开发工具,其原生有QtChart库支持多种数据形式的显示,包括:图表、折线图、饼图、曲线图等,让开发大屏软件得心应手。大屏开发主要的步骤有:(1)【数据采集】:这一点需接收多种途径的数据源,包括:TCP/IP数据源、传感器数据源、视频数据流等。(2)原创 2022-05-10 22:46:24 · 2184 阅读 · 0 评论 -
【Qt】多级折叠下拉导航菜单-01
一、【效果走一波】【特点】支持多级菜单显示。当多级菜单高度变小时,支持鼠标滚动操作菜单可折叠二、实现思路(1)使用QTreeWidget作为实现部件。(2)使用样式表定制显示条目。(3)设置每个菜单条目的Icon。(4)设置QTreeWidget参数。(5)关联每个菜单条目的鼠标点击信号,供其他逻辑使用。三、核心代码#include "multilevelMenuWidget.h"#include "ui_multilevelMenuWidget.h"multilevelM原创 2022-05-10 07:47:15 · 3408 阅读 · 0 评论 -
【Qt】一文总结Qt高级数据结构【栈和队列】
一、QQueue QQueue是Qt的一个通用容器类。该类为相同类型的项实现了队列数据结构。队列是先入先出(FIFO)结构。使用enqueue()将项目添加到队列的尾部,并使用dequeue()从头部检索项目。head()函数访问head项,而不需要删除它。 例如:#include <QCoreApplication>#include <QQueue>#include <QDebug>int main(int argc, char *argv[]){原创 2022-03-17 21:45:13 · 4434 阅读 · 0 评论 -
【Qt】深度解析QVector和QList
一、【QVector】解析QVector可能是Qt中最接近STL的容器。尽管如此,它在许多平台上的性能还是比std::vector差,这是因为它的内部结构更复杂。通过比较GCC 4.3.2 (x86-64) -O2编译环境下,在QVector (Qt 4.6.3)以及std::vector上的迭代操作部分生成的代码:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtFg8gfr-1647524128041)(C:\Users\d\AppData\Roaming\markt原创 2022-03-17 21:41:17 · 7821 阅读 · 0 评论 -
【Qt】一文总结Qt关联容器类—QMap
一文总结Qt关联式容器类—QMap一、开篇 QMap是一个模板类,它提供了一个基于红黑树的字典。QMap<Key, T>是Qt的一个通用容器类。它存储(键、值)对,并提供与键关联的值的快速查找方法。 QMap和QHash具有非常类似的功能。两者的差异是:QHash提供了比QMap更快的平均查找速度。在遍历QHash时,项目是任意排序的。使用QMap,项目按键排序的。二、QMap的使用方法(2-1)创建QMap。 例如:QMap<QString,int>map;原创 2022-03-16 22:43:00 · 2828 阅读 · 0 评论 -
【Qt】一文总结Qt序列式容器类—QVector
一文总结Qt序列式容器类—QVector文章目录一、开篇二、QVector的使用方法三、QVector的重要成员函数API(3-1)使用at()成员函数访问QVector中的数据(3-2)使用data()成员函数访问QVector中的数据(3-3)查找向量中出现的所有特定值(3-4)对vector中值的检索(3-5)添加、移动和删除vector中项目的基本函数(3-6)调整vector大小四、使用注意事项一、开篇 QVector是一个提供动态数组的模板类,它将其项存储在相邻内存中,并提供基于索引的快原创 2022-03-16 21:36:01 · 6245 阅读 · 2 评论 -
【Qt】一文总结Qt序列式容器类—QList
一文总结Qt序列式容器类—QList文章目录一文总结Qt序列式容器类—QList一、QList简介二、QList使用方法三、QList常使用的成员函数(3-1)向QList中插入项(3-2)移除QList中的项(3-3)移动QList中的项(3-4)访问QList中的项(3-5)查找QList中的项四、QList使用注意事项五、结尾一、QList简介在Qt中,QList类是一个提供列表的模板类,在开发中,也是一个较为常用的序列式容器类。 在QList内部,如果sizeof(T) <= siz原创 2022-03-15 22:59:23 · 6479 阅读 · 0 评论 -
【Qt】一篇全面的关于Qt对图像数据的操作总结
文章目录一、简介二、QImage类(2-1)QImage简介(2-2)使用QImage读取图像文件(2-3)使用QImage进行图像写入(2-4)获取图像信息(2-4-1)获取```Geometry```信息(2-4-2)获取颜色信息(2-4-3)获取文本信息(2-4-4)获取图像底层信息(2-5)操作图像像素(2-6)图像格式三、QPixmap类(3-1)QPixmap简介(3-2)使用QPixmap读取图像文件(3-3)使用QPixmap进行图像数据写入(3-4)获取图像信息(3-4-1)获取Geome原创 2022-03-03 22:23:15 · 13911 阅读 · 0 评论 -
【Qt】Qt线程同步之QWaitCondition
Qt—线程同步之QWaitCondition文章目录Qt—线程同步之QWaitCondition@[toc]一、简介二、成员函数API(2-1)等待—wait()(2-2)唤醒一个线程(2-3)唤醒所有线程三、使用示例四、生产者-消费者模型(4-1)全局变量(4-2)Producer 生产者类(4-3)Consumer 消费者类(4-4)main函数一、简介 QWaitCondition允许线程告诉其他线程某种条件已经满足。一个或多个线程可以阻塞等待QWaitCondition,使用wakeOne(原创 2022-02-22 22:08:54 · 1961 阅读 · 0 评论 -
【Qt】Qt线程同步之QMutexLocker
Qt—线程同步之QMutexLocker文章目录Qt—线程同步之QMutexLocker一、简介二、成员函数API(2-1)获取QMutex(2-2)重新锁定(2-3)解锁三、使用示例一、简介 【该类中的所有函数都是线程安全的】 QMutex的目的是保护一次只有一个线程访问一个对象、数据结构或一段代码。QMutex通常在较为简单的代码中使用,如果代码复杂最好使用QMutexLocker+互斥锁,这样可以很容易确保锁定和解锁的执行一致。 在复杂函数和语句或异常处理代码中lock和unlock原创 2022-02-22 22:07:27 · 4398 阅读 · 0 评论 -
【Qt】Qt线程同步之QSemaphore信号量
Qt—线程同步之QSemaphore文章目录Qt—线程同步之QSemaphore一、简介二、成员函数API(2-1)获取n个资源(2-2)释放n个资源(2-3)获取可用资源的数量(2-4)尝试获取n个资源(2-5)在一段时间内尝试获取n个资源三、使用示例(3-1)全局变量(3-2)Producer生产者类(3-3)Consumer消费者类(3-4)main函数一、简介 信号量是互斥锁的泛化。一个互斥的对象只能被锁定一次,但是可以多次获取一个信号量。信号量通常用于:保护一定数量的相同资源。二、成员原创 2022-02-21 22:14:10 · 2908 阅读 · 0 评论 -
【Qt】Qt多线程开发 —【QThreadPool 】线程池
Qt多线程 — QThreadPool文章目录Qt多线程 — QThreadPool一、简介二、使用方法三、QThreadPool的成员函数(3-1)设置自动删除标志【setAutoDelete】(3-2)设置线程超时时间【setExpiryTimeout】(3-3)设置线程池的最大线程数【setMaxThreadCount】(3-4)预留线程【reserveThread】(3-5)释放线程【releaseThrad】(3-6)开始线程【start】(3-7)设置堆栈大小【setStackSize】(3-原创 2022-02-21 22:10:32 · 5763 阅读 · 0 评论 -
【Qt】如何实现小部件的样式控制
使用【setProperty + 样式表】实现对QWidget的动态样式加载文章目录一、背景二、定制单个控件的样式三、实现页面换肤。一、背景 QObject的setProperty ()函数功能比较好用。本文总结几点在实际开发中常用的场景: (1)定制单个控件的样式。 (2)实现页面换肤。 (3)向部件传递动态参数(可以修改、删除)。二、定制单个控件的样式 当在QtCreator下拖出多个相同类型的控件时,其名称是软件生成的(除非自己修改)。当把样式表文件放在一个单独的文件中进行加原创 2022-02-17 22:53:54 · 822 阅读 · 0 评论 -
【Qt】一篇全面的信号和槽函数机制总结
信号和槽函数机制文章目录信号和槽函数机制一、信号和槽机制简介二、【信号】(2-1)信号的发出(2-2)信号的处理三、【槽函数】(3-1)带有默认参数的信号和槽函数(3-2)使用```QObject::connect()```将信号连接到槽函数。(3-3)信号和槽函数的一些高级用法四、使用Qt与第三方信号和槽函数一、信号和槽机制简介 (注:下文中的槽与槽函数表示一个意思) 信号和槽用于多个对象之间的通信。信号和槽机制是Qt的核心特性,也是与其他框架最大的不同之处。Qt的元对象系统是信号和槽实现的基原创 2022-02-16 23:06:43 · 16121 阅读 · 2 评论 -
【Qt】Qt多线程开发—多线程应用示例分析(Mandelbrot)
Qt-多线程应用示例分析(Mandelbrot)文章目录Qt-多线程应用示例分析(Mandelbrot)一、写在前面二、RendThread类的定义(2-1)run()函数实现(2-2)render()函数的实现三、MandelbrotWidget类的定义四、总结一、写在前面 本文章讨论内容关于Qt的多线程应用,使用子类化QThread的方法创建线程,重载run()函数实现多线程。 (注)代码段节选自官方示例《Mandelbrot Example》 《Mandelbrot Example》示原创 2022-02-14 22:00:43 · 985 阅读 · 1 评论 -
【Qt】Qt多线程开发—实现多线程设计的四种方法
Qt—使用Qt实现多线程设计的四种方法一、写在前面 这篇文章内容是:关于Qt多线程应用设计,在Qt中提供了四种方法来进行多线程编程和设计。合理的选择对应的方法来解决实际开发中遇到的开发问题有助于对应用程序进行更合理设计。文章目录Qt—使用Qt实现多线程设计的四种方法一、写在前面二、【方法一】 QThread:带有可选事件循环的底层API三、【方法二】 QThreadPool和QRunnable:重用线程四、【方法三 】Qt并发:使用高级API五、【方法四】 WorkerScript:QML中的线程化原创 2022-02-14 21:43:37 · 10564 阅读 · 0 评论 -
【Qt】Qt多线程开发—可重入性和线程安全
Qt-可重入性和线程安全文章目录Qt-可重入性和线程安全一、写在前面二、可重入性三、线程安全四、注意事项一、写在前面 在本篇文章中,术语"可重入性"和"线程安全"被用来标记类与函数,表明类与函数在多线程应用程序中可以被如何使用。可重入性与线程安全这两个概念不是Qt独有的概念,而是多线程领域中重要的两个专业术语。 一个线程安全的函数可以同时被多个线程调用,甚至这些调用者会使用共享的数据也不会有问题,因为对共享数据的访问是串行的(serialized)。 一个可重入函数也可以同时被多个线程调用,原创 2022-02-14 20:58:34 · 3592 阅读 · 0 评论 -
【Qt】Qt多线程开发—QThread
文章目录一、QThread的使用(1-1)方法一(1-2)方法二二、Qt线程运行的两种策略三、QThread的使用注意事项四、总结一、QThread的使用QThread是Qt中用于在不同线程中运行代码的核心类,它是QObject的子类 关于QThread如何使用,Qt官方提供了两种方法:(1-1)方法一 步骤一:要创建执行某些代码的新线程,子类化QThread并重新实现run() 步骤二:然后创建子类的实例并调用start()运行线程如下代码片段:class MyThread : pu原创 2022-02-13 22:46:07 · 2698 阅读 · 1 评论 -
【Qt】使用Qss设置QPushButton图标和显示文本的位置
使用Qss设置QPushButton图标和显示文本的位置一、背景 在开发中,经常使用到按钮作为人的一种输入部件,然而很多时候按钮又有不同的开发设计需求,本文重点分享:如何使用Qss来设置按钮的图标和按钮文本的位置。从而实现预期的开发效果。【效果】二、Css样式表(2-1)常用的QPushButton样式表模板QPushButton{ background-color: #2786ba; /* 背景颜色 */ border-radius:5px; /*原创 2022-01-06 22:42:27 · 24989 阅读 · 3 评论