- 在做项目的过程中,使用connect用来传数据是非常方便的,不仅可以用于数据的发送,同时也可以实现改变状态时通过函数等实现自己所需要发生变化。接下来开始讲解! connect简介connect时附属于QObject 所在书上等等在使用connect时都会在前面加上QObject::,可以以哦那个他来引用。可以通过翻译发现它是用来连接,就像是通过一根线可以让两个毫无关系的让两个人连接起来,让他... 在做项目的过程中,使用connect用来传数据是非常方便的,不仅可以用于数据的发送,同时也可以实现改变状态时通过函数等实现自己所需要发生变化。接下来开始讲解! connect简介connect时附属于QObject 所在书上等等在使用connect时都会在前面加上QObject::,可以以哦那个他来引用。可以通过翻译发现它是用来连接,就像是通过一根线可以让两个毫无关系的让两个人连接起来,让他...
- 文件夹的复制,主要可以用来抑制文件夹,但是在使用后会发现,他复制的是文件内容,所以在使用这个函数之前需要在目标目录新建一个与此目录相同的文件夹,这样才可以实现文件夹的完美复刻。接下来开始代码的讲解!QDir directory(fileName); if (!directory.exists()) { qDebug()<<"non-existent... 文件夹的复制,主要可以用来抑制文件夹,但是在使用后会发现,他复制的是文件内容,所以在使用这个函数之前需要在目标目录新建一个与此目录相同的文件夹,这样才可以实现文件夹的完美复刻。接下来开始代码的讲解!QDir directory(fileName); if (!directory.exists()) { qDebug()<<"non-existent...
- 解压在上网一搜,全部都是统一的答案,我本想着按着方法用,但是老天不饶我!没有使用成功!在后续也有找别的方法,但是都不太行,因此我将他改了改!终于可以被我使用!第一步:先将压缩包使用解压模式打开,QuaZip::mdUnzip这个是最通用的一种方式,并且都到的帖子下面都有详细展示,我就不一一重复了。QuaZip zip(zipPath); zip.open(QuaZip::mdUnzip... 解压在上网一搜,全部都是统一的答案,我本想着按着方法用,但是老天不饶我!没有使用成功!在后续也有找别的方法,但是都不太行,因此我将他改了改!终于可以被我使用!第一步:先将压缩包使用解压模式打开,QuaZip::mdUnzip这个是最通用的一种方式,并且都到的帖子下面都有详细展示,我就不一一重复了。QuaZip zip(zipPath); zip.open(QuaZip::mdUnzip...
- 在我们平时删除文件夹的过程中,我们可以直接删除文件夹,也可以删除文件夹里面内容后在将文件夹删除。在我们使用代码删除文件夹也是同样的逻辑。在我使用文件夹删除时,使用了好几种方法,现在向他们逐一展示。 第一种 使用removeRecursively 的方式进行删除代码:QString delPath = QString("./qqq/aaa");QDir dir;dir.setPath(del... 在我们平时删除文件夹的过程中,我们可以直接删除文件夹,也可以删除文件夹里面内容后在将文件夹删除。在我们使用代码删除文件夹也是同样的逻辑。在我使用文件夹删除时,使用了好几种方法,现在向他们逐一展示。 第一种 使用removeRecursively 的方式进行删除代码:QString delPath = QString("./qqq/aaa");QDir dir;dir.setPath(del...
- 在程序应用中,文件的上传于下载那肯定是避免不了的。在我今天的写代码时,就用到了这个方法。但是在文件的压缩中有许许多多的方法,我发现了一个比较容易的一句话就可以实现压缩包,但是我没有调试成功,所以用了这个方法。有兴趣的可以试一下他,链接在这里。 QString zipName = QString::fromStdString(uuid); QString zipPath = QS... 在程序应用中,文件的上传于下载那肯定是避免不了的。在我今天的写代码时,就用到了这个方法。但是在文件的压缩中有许许多多的方法,我发现了一个比较容易的一句话就可以实现压缩包,但是我没有调试成功,所以用了这个方法。有兴趣的可以试一下他,链接在这里。 QString zipName = QString::fromStdString(uuid); QString zipPath = QS...
- QT中有许多实现音频播放的方法,QSound *sound=new QSound("路径"); sound->play();可以实现mav音频的播放(但是通过自己使用,发现并不是这样的)。再通过不断的查找下,发现这个新的方法。 代码展示.h QMediaPlayer *player; QMediaPlaylist* playlist;前提:首先在.pro中添加 QT ... QT中有许多实现音频播放的方法,QSound *sound=new QSound("路径"); sound->play();可以实现mav音频的播放(但是通过自己使用,发现并不是这样的)。再通过不断的查找下,发现这个新的方法。 代码展示.h QMediaPlayer *player; QMediaPlaylist* playlist;前提:首先在.pro中添加 QT ...
- 在写界面时,避免不了多次重复的使用同一个类型,并且只需要使用一次,后续不再适用。在我们使用完一个容器时,或者需要清空一个容器时都需要逐一将其中的内容删除。如果在界面中直接写QCheckBox *box=new QCheckBox(this);而不进行delete,很容易造成内存泄漏的问题。 因此我们将它存储进vector中,我们可通过在析构函数里遍历将它全部删除,这样不仅可以简化我们的内存管... 在写界面时,避免不了多次重复的使用同一个类型,并且只需要使用一次,后续不再适用。在我们使用完一个容器时,或者需要清空一个容器时都需要逐一将其中的内容删除。如果在界面中直接写QCheckBox *box=new QCheckBox(this);而不进行delete,很容易造成内存泄漏的问题。 因此我们将它存储进vector中,我们可通过在析构函数里遍历将它全部删除,这样不仅可以简化我们的内存管...
- 该示例实现了一个只有时针和分针组成的展示当前时间的时钟。随着系统时间的改变,时钟会每隔几秒更新一次。 这个例子演示了如何使用QPainter的转换和缩放功让行绘制操作变得更容易。 这个示例在对我们入门学习使用QPainter进行绘制非常有帮助。 该示例实现了一个只有时针和分针组成的展示当前时间的时钟。随着系统时间的改变,时钟会每隔几秒更新一次。 这个例子演示了如何使用QPainter的转换和缩放功让行绘制操作变得更容易。 这个示例在对我们入门学习使用QPainter进行绘制非常有帮助。
- 这个示例实现了使用QTimer定期更新小部件的一个数字时钟。主要的实现思路是使用Qt自带的时钟部件,通过重写DigitalClock的showTime()方法,来带到我们想要让他显示时间的目的,在这里可以指定时间显示的格式等。 这个示例实现了使用QTimer定期更新小部件的一个数字时钟。主要的实现思路是使用Qt自带的时钟部件,通过重写DigitalClock的showTime()方法,来带到我们想要让他显示时间的目的,在这里可以指定时间显示的格式等。
- VS2017+Qt5.14.2+cef89 实现基于CEF框架的客户端。上一篇文章已经介绍过如何搭建Qt+CEF开发环境,并且成功移植运行了cefsimple项目。如果不满足于cefsimple现有的功能,想开发更多的功能,比如实现浏览器的前进、后退、刷新、跳转页面时不创建新的窗口、设置cookie、调用控制台等功能。就需要深挖一下cef的控制类有哪些,支持的功能接口有哪些…… VS2017+Qt5.14.2+cef89 实现基于CEF框架的客户端。上一篇文章已经介绍过如何搭建Qt+CEF开发环境,并且成功移植运行了cefsimple项目。如果不满足于cefsimple现有的功能,想开发更多的功能,比如实现浏览器的前进、后退、刷新、跳转页面时不创建新的窗口、设置cookie、调用控制台等功能。就需要深挖一下cef的控制类有哪些,支持的功能接口有哪些……
- 实现一个加载指定网址的客户端。需要在客户端内完成网页的加载、跳转、下载、打印等功能。基本上类似于做一个加载指定网址的浏览器客户端。 实现一个加载指定网址的客户端。需要在客户端内完成网页的加载、跳转、下载、打印等功能。基本上类似于做一个加载指定网址的浏览器客户端。
- 前提概要在我们想实现阻塞窗口时,第一反应就是QDialog的模态窗口,但是由于QDialog无法正常使用等情况(自己就遇到了这个问题),那我们就要找别的方法了。接下来展示在QWidget的非模态窗口下实现阻塞效果。 代码展示:Widget = new QWidget;Widget->setWindowFlags(Widget->windowFlags() |Qt::Dialog);Widg... 前提概要在我们想实现阻塞窗口时,第一反应就是QDialog的模态窗口,但是由于QDialog无法正常使用等情况(自己就遇到了这个问题),那我们就要找别的方法了。接下来展示在QWidget的非模态窗口下实现阻塞效果。 代码展示:Widget = new QWidget;Widget->setWindowFlags(Widget->windowFlags() |Qt::Dialog);Widg...
- 前提要点json文件,可通过键值的方式存储你所需要的数据,斌且支持多种类型存储,类似于一种结构化的数据库,在读取json文件时可通过相对应的关键字精准获取。他是一种树状结构,我们可以自己设定叶子的数量以及他所代表的寓意,指定每一个叶子的父亲,以及父亲的父亲… 1. 首先获取地址 读取json文件QFile file(QString::fromStdString(json));bool b... 前提要点json文件,可通过键值的方式存储你所需要的数据,斌且支持多种类型存储,类似于一种结构化的数据库,在读取json文件时可通过相对应的关键字精准获取。他是一种树状结构,我们可以自己设定叶子的数量以及他所代表的寓意,指定每一个叶子的父亲,以及父亲的父亲… 1. 首先获取地址 读取json文件QFile file(QString::fromStdString(json));bool b...
- Qt如何实现打包,实现EXE分享 Qt如何实现打包,实现EXE分享
- Qt QObject::connect有趣的重载形式一般可以这么写QLabel *label = new QLabel;QScrollBar *scrollBar = new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)), label, SLOT(setNum(int)));还可以这么写QObject::... Qt QObject::connect有趣的重载形式一般可以这么写QLabel *label = new QLabel;QScrollBar *scrollBar = new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)), label, SLOT(setNum(int)));还可以这么写QObject::...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签