
//Qt || QML
Qt相关/QML相关
沙振宇
将来的你一定会感谢现在奋斗的你。当你的才华还撑不起你的野心时,那你就应该静下心来学习。
-
原创 Qt开发 之 删除文件或文件夹到回收站(详解)
文章目录1、简介1.1、问题描述1.2、解决方案2、源代码2.1、WinAPI调用2.2、两行代码解决Release版本根目录驱动问题2.3、解决部分文件删除不成功的问题3、QFileInfo官方说明4、Qt 5.15版本的功能1、简介写这篇文章之前,已经看过很多类似的文章,都没有实质性的解决这个问题。1.1、问题描述原本程序在main函数中直接调用WinAPI删除文件或者文件夹到回收站,无论在Debug版本还是Release版本都不会有问题。但是如果封装成函数或者类,在栈中或者堆中去执行的时候,R2020-11-23 20:18:17331
4
-
原创 Qt开发 之 Windows资源管理器模仿 并 小超越
文章目录1、简述2、内存处理2.1、Windows的资源管理器2.1.1、大图标模式2.1.2、超大图标模式2.1.3、其他模式2.2、用Qt做的类似资源管理器的软件3、滑动处理3.1、Windows的资源管理器3.2、用Qt做的类似资源管理器的软件4、超大数据处理1、简述最近在做一个类似Windows的资源管理器的软件,先测一下资源管理器的文件加载处理过程,先学习一下再进行小小的超越。测一下才发现资源管理器这里的内存处理做的有点垃圾,它的大目录加载的处理是真的垃圾。说它垃圾是因为如果机器配置不够会直接2020-11-09 16:22:232209
15
-
原创 Qt开发 之 快速查找 应用程序输出(适合很多IDE,解决查找眼瞎的问题)
文章目录1、简述2、问题描述3、解决方案1、简述今天一位 老Qter 问我一个非技术类问题,我觉得很典型,就把它记录下来,希望各位友友可以知道这个小技巧~2、问题描述如下动图,在Qt应用程序输出的查找时,虽然想要查找的关键词加亮了,但是依然不是很清楚。3、解决方案如下动图,看清楚了嘛?可以在你选择上下移动的同时把焦点设置在应用程序输出的上面(设置焦点的方法左键点击就可以了)。简单的小技巧,帮你脱离查找眼瞎的小烦恼。...2020-08-05 10:49:44652
0
-
原创 Qt开发 之 模仿Windows文件夹缩略图(QWidget、Qt Quick(QML)、以及QGraph)
文章目录1、简介2、效果图3、三种实现方式3.1、QWidget的mask遮罩3.1.1、bb叨3.1.2、核心源码3.2、QML的QtGraphicalEffects遮罩3.2.1、bb小叨3.2.2、核心源码3.3、QGraph的三板斧3.3.1、bb一小会儿3.3.2、核心源码1、简介放纵了自己一个月没写博客,如今又提起战刀杀回战场,奈何这硝烟已淡去了你的味道……言归正传,本文讲的不是简单的model/view或者widget的或者QML的基础框架实现,而是在这些框架之上的肉(文件夹缩略图)的效2020-07-14 16:20:5114816
2
-
原创 Qt5.9使用Qt4的QFTP全过程
文章目录1、简介2、下载并编译Qt4的库2.1 编译准备2.1.1 修改“qtftp-master\src\qftp”下的“qftp.pro”文件2.1.2 修改“qtftp-master\src\qftp”下的“qftp.h”文件2.2 编译3、应用编译好的库3.1 引用3.1.1 拷贝静态库到 lib 下3.1.2 拷贝动态库到 bin 下3.1.3 拷贝头文件到 QtNetwork 下3.2...2019-04-30 21:29:5416527
16
-
原创 Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)
目录1、引入OC文件2、引入OC库3、引入Plist文件4、编译程序1、引入OC文件在pro(或pri)中加入Objective-C的头文件和源文件例如:HEADERS += $$PWD/os/mac/readDeviceInfo.hOBJECTIVE_SOURCES += $$PWD/os/mac/readDeviceInfo.mm2、引入OC库在包含此方法的pro(或pri)...2019-01-09 14:57:071080
2
-
原创 Qt on Mac 开发之 Qt程序 在Mac上用X-code的clang编译
目录1、简介2、安装A、error: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.1. 命令行输入2. 命令行输入3. 前往文件路径B、Error: Could not resolve SDK path for 'macosx10.8'...2019-01-09 14:38:121000
0
-
原创 Qt on Mac 开发之 Qt在Retina屏幕上的那些问题
目录1、解决Qt在Retina屏幕上的图片模糊问题2、解决Qt在Retina屏幕上的密度问题1. iOS2. Android3. 视网膜MacBook3、解决Qt在Retina屏幕上的刷新问题1、解决Qt在Retina屏幕上的图片模糊问题说到这个问题,我们要用到QT_REQUIRE_VERSION这个宏,Qt文档中这么描述:这里是要设置的与当前使用的Qt版本相匹配。比如:用的是Qt5....2019-01-09 14:13:341488
4
-
原创 Qt on Mac 开发之 读取苹果系统OSX上的plist资源文件
目录1、整体流程2、解析方法a、采用QT的Dom接口进行解析b、采用Object-C读取,然后通过C++来调用3、源码4、实例1、整体流程1、先在X-Code上创建.h和.mm文件,并写出主要读取资源文件函数和接口2、把.h和.mm文件添加到Qt中,并写出C++间接调用接口3、把界面和调用读取plist资源文件接口联系起来对于MAC上的应用软件的信息读取,一般是对于该应用程序的info....2019-01-09 12:03:261391
0
-
原创 Qt on Android 开发之 添加SSL、应用签名、解决“No CPU/ABI system image available for this target”错误
目录一、Qt如何给Android添加SSL库1、简述2、步骤二、Android应用签名问题1、签名原因2、签名作用3、如何添加签名三、“No CPU/ABI system image available for this target”的解决方案1、简述2、解决方案2.1 给SDK设置代理2.2 下载对应版本的v7a System Image2.3 等到更新完,重启Qt creator2.4 问题...2019-01-08 20:55:46887
0
-
原创 Qt on Android 开发之 C++与Java 交互
目录简述Qt引入Android模块Java示例Cpp与java交互简述我做了一个小例子,来实现了 C++与Java之间的交互。该示例是以整形和字符型举例说明,用QAndroidJniObject类的callStaticMethod方法进行与Java交互Qt引入Android模块首先要在Pro中加入Android开发模块QT += androidextrasJava示例...2019-01-08 20:38:201391
0
-
原创 QCamera同时打开多个USB摄像头小Demo
先看一下效果:(CSDN最大传2M图片,所以我把图片缩小并降低了DPI) 注意:一定不要把usb摄像头接到同一个USB集线器上,我这里是一个接到电脑外置接口,一个接到PCI-usb接口上了。如果要接更多的usb摄像头,最好接到PCI-USB接口上,这样才能保证同时打开,否则只能一个一个打开,不是我们想要的效果。 示例代码(这里代码只为了做出Demo,所以很简单): ...2018-10-29 16:18:016493
5
-
原创 Qt以Base64加密作为基础实现3种加解密方式(包含中文处理)
目录目录效果图加密算法普通base64加密解密加密解密字符大小写加密解密大小写加解密算法加密解密异或加解密(钥匙加解密)异或加解密(钥匙加解密)算法加密解密效果图加密算法本文提供三种方式来加密解密,都是用Qt本身提供的类,没用外接库。普通base64加密解密Qt已经有了最基本的toBase64加密算法,同时提...2018-08-23 10:25:434199
4
-
原创 Qt5气泡式聊天框——QListWidget+QPainter实现
目录由于最近的项目需要,做了些相关IM的工作。所以聊天框也是必不可少的一部分。聊天框的制作分很多种,本文以QListWidget+QPainter绘制的Item做了一个Demo。该Demo只是做一个示例,代码已公布如下,需要的拿去!目录效果图实现原理调用样例实现类代码分享效果图实现原理气泡式聊天的显示是由QListWidget作为控件,每个...2018-08-08 11:57:338382
33
-
原创 Qt小娱乐,让桌面图标跑起来
目录目录先看一下效果图实现要关注以下几点WindowsAPI——如何获取桌面图标个数WindowsAPI——如何获取桌面分辨率*WindowsAPI——如何设置每个图标的位置WindowsAPI——如何更新所有图标的信息Qt——定时器如何使用Qt——容器如何使用算法——如何控制图标跑起来仍然存在的问题先看一下效果图实现要关注以下几点Wi...2018-05-03 17:32:39786
0
-
原创 Qt拖拽的小Demo
效果图:思路如下:1、在构造函数中设置拖拽可用,setAcceptDrops(true);2、在拖的时候获取信息,拽的时候做处理(处理时已去除重复文件):void MainWindow::dragEnterEvent(QDragEnterEvent *event){ if(event->mimeData()->hasFormat("text/uri-list")) { ...2018-03-12 15:12:51731
2
-
原创 Qt如何获取外网IP地址
直接调用就行:returnOutIP();这个方法返回的就是外网IP了~引用头:#include <QNetworkAccessManager>#include <QNetworkReply>#include <QNetworkRequest>#include <QEventLoop>调用:QString TcpSever::returnOutIP(...2018-02-10 23:25:262339
0
-
原创 比对if else与三元运算符的耗时 小示例 及 结果
简单比较结果:由此图可见三元运算符耗时稍微少些。2018-02-01 11:28:564797
4
-
原创 QString转换QByteArray时中文问题解决方案
平常转换没怎么注意,一般QString转换成QByteArray不会出现问题,今天涉及到QJsonDocument类,转换出现以下问题:1、用toLocal8Bit()QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为 JSON 文档if (doucment.isNull() || (json2018-01-30 16:57:554956
0
-
原创 Qt保留小数点后一位、两位……
很简单:float num = 1.6666666666;QString str = QString::number(num, 'f', 2);其中f代表非科学计数法格式,2代表小数点后两位。2018-01-11 11:28:0913743
0
-
原创 Qt拷贝文件、文件夹以及拷贝进度
头文件:#ifndef SFILECOPY_H#define SFILECOPY_H#include #include class SFileCopy : public QObject{ Q_OBJECTpublic: explicit SFileCopy(QObject *parent = 0); ~SFileCopy(); //拷贝文件:2018-01-04 17:55:029260
12
-
原创 Qt(C++)调用工业相机Basler的SDK使用示例
简介由于公司采购的AVT相机不足,需要用Basler相机来弥补,所以我也了解了一下Basler这款相机的SDK。由于Basler这边的相机提供的没有提供Qt的示例,所以我做一个分享出来。本篇的Demo采用的是工业黑白相机。工业应用中,如果我们要处理的是与图像颜色有关,那么我们最好采用彩色工业相机;如果不是,那么我们最好选用黑白工业相机,因为在同样分辨率下的工业相机,黑白工业教学精度比彩色工...2017-12-19 16:56:2460938
120
-
原创 Qt制作有进度条的拷贝文件夹和文件的小Demo
效果图:核心代码:#ifndef SFILECOPY_H#define SFILECOPY_H#include #include class SFileCopy : public QObject{ Q_OBJECTpublic: explicit SFileCopy(QObject *parent = 0); ~SFileCopy()2017-12-08 15:53:242304
0
-
原创 Qt输出打印信息的日志到文件(两种方式)
效果:1、利用ofstream文件写操作,将内存数据写入存储文件。找到main.cpp:①、增加头文件引用:#include <QDateTime>#include <QDebug>#include <fstream> // std::ofstream②、增加全局变量:std::ofstream g_Outpu...2017-11-30 14:01:2610003
0
-
原创 Qt中QMessageLogContext的context.file和context.line为空的解决方案
QDebug版本是可以输出日志信息的,但在Release中输入日志的文件信息和行数为空。原因是,Qt在Release版本默认舍弃了文件信息、行数等信息。解决方案:在.pro文件定义一个宏:DEFINES += QT_MESSAGELOGCONTEXT然后,qmake,重新编译,就可以了~2017-11-30 13:37:092401
6
-
原创 Qt+QFile+QFileDialog处理多文件行数统计及有效行判定Demo
先看一下效果:注意关键代码: m_fileDialog = new QFileDialog(this); m_fileDialog->setWindowTitle(tr("Open")); m_fileDialog->setDirectory("."); m_fileDialog->setNameFilter(tr("Files(*.txt2017-11-23 16:48:242470
0
-
原创 Qt+VLC播放多个视频的Demo
这个Demo做的是同时播放9个相同的视频:详细代码可以参考我写的这篇:Qt+VLC简单的使用显示视频Demo目前做的这个小Demo代码微微做了一点小优化,单独封装的类:#ifndef SVLCCONTROL_H#define SVLCCONTROL_H#include <QWidget>#include <QLabel>stru...2017-11-23 14:46:564660
16
-
原创 QTcpSocket客户端和服务端发送图片(或大文件)小Demo
先看一下效果:思路:发图片、大文件与发短字符不大一样。1、文件和图片通过TCP可能一次发不过去,可能要发很多次。所以我们在发送文件、数据、以及文字最好带上文件的大小。2、图片转换成文件流的形式,这个Demo是转成base64加密流核心代码:1、tcp客户端与服务端的代码这里就不贴了,以前贴过,可以看我以前的帖子。这里贴一下思路代码:发送图片端:2017-10-20 16:07:037464
0
-
原创 Qt水波进度条Demo
多谢飞扬青春的博客,看到水波形进度条的效果觉得非常不错,于是自己也模仿着做了一个类似的,效果图:原理:利用正弦曲线产生平滑曲线点集合,然后用大路径减去当前进度路径,形成水波效果。 源码如下:#ifndef SPROGRESSBAR_H#define SPROGRESSBAR_H#include #include #include cla2017-10-17 15:44:142086
6
-
原创 解决Release版本--Qt编译器发生内部错误C1001问题
编译QtDebug版本时是可以的,Release版本就出现了内部错误问题。网上找了很多,也没找到答案。主要是Qt自己封装的类产生了此问题。于是查看Qt的编译输出:可以看出来是VS编译器的错误,于是更新了VS2013,问题就解决了。可以百度:怎样更新VS2013 update52017-10-16 10:54:593899
0
-
原创 Qt用QuaZip实现压缩/解压的小Demo
效果图:关键代码:#include "squazip.h"#include "../quazip/JlCompress.h"#include <QtConcurrent/QtConcurrent>SQuaZip::SQuaZip(QObject *parent) : QObject(parent){}void SQuaZip::saveAsFile(...2017-10-11 18:07:07764
2
-
原创 Qt如何上传zip文件(两种形式),及随机生成规定长度的字符串的小方法
以zip文件为例:1、文件流形式上传zip文件void SNetWork::uploadFile(QString filePath, QByteArray rand, QByteArray dateTime){ QFile file(filePath); file.open(QIODevice::ReadOnly); QByteArray data = file.2017-10-10 15:44:50744
0
-
原创 Qt下Unix时间戳(10位)和普通时间显示
1.toTime_t()转变为1506578023这样的时间戳QDateTime time = QDateTime::currentDateTime(); //获取当前时间 int timeT = time.toTime_t(); //将当前时间转为时间戳 {与toTime_t()功能相反的是fromTime_t(),把时间戳转为QDateTime类型。因为这个方法是静态2017-09-28 13:52:493349
0
-
原创 qApp->quit()引起崩溃问题解决方案
有人习惯用qApp->exit(0);的方式结束程序,也有人习惯用qApp->quit();的方式退出程序,二者作用是一样的。要注意,这两种方式都是不经过一些窗口的析构函数和closeevent事件的,程序就结束退出了。如果析构函数或者closeEvent事件中安排了自己的功能代码,需要在qApp->quit();执行前显示的使用delete或close。2017-09-25 13:35:184712
0
-
原创 Qt生成或解析二维码
先看一下效果:以上生成和解析二维码用了两个库:(QRCode、QZXing)这两个库可以自行下载。说一下引用,在pro中增加对应pri的路径:include($$PWD/../QRCode/QRCode.pri)include($$PWD/../QZXing/QZXing.pri)如何生成和解析:#include "../QRCode/qre2017-09-21 18:13:42795
0
-
原创 Qt添加Halcon窗体Demo(以及Halcon简单的灰化效果)
Qt调用Halcon13.0机器视觉算法包Qt:5.6.1 MSVC2013 32bitHalcon版本:13.0(注意,这里最好是正版,或者已经破译的版本,否则会引起很多意料之外的问题)1、在pro文件中添加必要的库和必要的头文件INCLUDEPATH += $$PWD/Halcon/IncludeINCLUDEPATH += $$PWD/Halcon/Include/halc...2017-09-15 19:19:377445
9
-
原创 Qt国际化翻译小Demo
这个之前就写过类似的文章,但还是有些童鞋有疑问。也对,当时写的时候也没附个例子啥的。正好今天有时间,再记录一下,希望对你有所帮助。效果图:步骤如下:1、创建语言文件 打开.pro文件,加入以下:TRANSLATIONS += linguist/Language_en.ts \ lingu...2017-09-14 16:11:22531
0
-
原创 用Qt原生工具windeployqt打包Demo
如图(CSDN加载动态图较慢,请耐心等待):两种基本方法:方法1、把windeployqt.exe加入到环境变量,然后用windeployqt+A.exe收集所需动态库*方法2、直接生成脚本,A.bat。脚本内容(E:\Qt\5.6.2vc2013\5.6\msvc2013\bin\windeployqt.exe A.exe)脚本内容前面就是你Qt所在的目录2017-09-05 16:20:41885
0
-
原创 解决Qt :libpng warning: iCCP: known incorrect sRGB profile警告信息
有两个方法方法一1、从ImageMagick的官网下载压缩包,地址: http://www.imagemagick.org/script/binary-releases.PHP根据平台下载相对应的压缩包,如Windows下载ImageMagick-7.0.4-0-portable-Q16-x64.zip2、把下载完的压缩包解压到e:/Programs/ImageMagick3、...2017-09-01 13:41:5917271
7
-
原创 Qt的打印机Demo
先看看小Demo的效果:总结:1、QPrinterInfo类(提供了简单的打印机的信息,比如打印机的个数、各个打印机的名字、默认打印机名字等等)代码: QPrinterInfo info; QString name = info.defaultPrinterName(); // 默认打印机名字 QStringList list = info.ava...2017-09-01 10:45:287965
15