自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 三十六、Qt之单例并定义宏

定义 Singleton.h#ifndef SINGLETON_H#define SINGLETON_H#include <QMutex>#include <QScopedPointer>/** * 使用方法: * 1. 定义类为单例: * class ConnectionPool { * SINGLETON(Connectio...

2020-02-29 15:50:09 896 1

原创 三十五、定义宏,并添加注释

注意:换行需添加换行符 “\”宏中不能使用 // 添加注释,注释必须写在续行符("")的前面,使用 /* — */进行注释#ifndef SINGLETON_H#define SINGLETON_H#include <QMutex>#include <QScopedPointer>/** * 使用方法: * 1. 定义类为单例: * ...

2020-02-29 12:55:47 1075

原创 三、解析 json/xml 开源库

解析json腾讯的 RapidJSON解析XMLRAPIDXML

2020-02-29 10:27:50 329

原创 三十四、Qt之创建数据库连接池

数据库连接属于大消耗资源,若频繁的删除再创建,这样会极大地降低程序的响应性能。所以这里需要引入数据库连接池,将不用的连接放回池中,需要用的时候,再将资源拿回来,重新复用。案例如下:ConnectionPool.h#ifndef CONNECTIONPOOL_H#define CONNECTIONPOOL_H#include <QObject>#include <QtS...

2020-02-28 15:09:33 969

原创 三十三、QT之日志输出

1.创建自定义消息处理器,并注册到系统在项目的 main.cpp 中设置日志输出#include "widget.h"#include <QApplication>#include <QMutex>#include <QFile>#include <QDateTime>#include <QTextStream>//消...

2020-02-27 15:48:13 475

原创 一、error: passing 'const ...' as 'this' argument discards qualifiers [-fpermissive]

本人遇到的错误发生场景是:class MainWindow::Private{public: NetWorker *netWorker; QMap<QNetworkReply*, NetWorker::ReplyType> requestMap; Private() { netWorker = NetWorker::instanc...

2020-02-26 16:34:19 2354

原创 三十二、Qt之 d 指针案例与解析

本案例目的:实现对 QNetworkAccessManager 的封装,获取 QNetworkAccessManager 单例,保证全局唯一//NetWorker.h#ifndef NETWORKER_H#define NETWORKER_H#include <QObject>#include <QNetworkReply>class NetWorker ...

2020-02-26 10:26:07 494

原创 三十一、Qt中哪些对象需要手动delete?

  QT的父子对象机制是在 QWidget和QOject中实现的。当我们使用父对象来创建一个对象的时候 ,父对象会把这个对象添加到自己的子对象列表中。当这个父对象被删除的时候,它会遍历它的子对象类表并且删除每一个子对象,然后子对象们自己再删除它们自己的子对象,这样递归调用直到所有对象都被删除。  这种父子对象机制会在很大程度上简化我们的内存管理工作,减少内存泄露的风险。我们需要显式删除(就是用D...

2020-02-26 09:16:24 3188

原创 二、使用 QJson 解析 json 数据

如何获取并编译 QJson,参见我前面文章 一、编译QJson(避免采坑教程),下面只讲使用,案例如下:Person#person.h#ifndef PERSON_H#define PERSON_H#include <QObject>#include <QDate>class Person : public QObject{ Q_OBJECT...

2020-02-25 22:51:53 511 2

原创 一、编译QJson(避免采坑教程)

网上的教程五花八门,挨个试了一遍,总是会报各种错,自己一步步摸索,先将流程梳理如下:一、准备工作1、下载 CMake 工具下载 CMake 工具,在安装界面,选择添加环境变量即可,其他无特别注意事项。2、添加QT、和MINGW32编译工具的环境变量本人的环境变量如下:F:\Qt\Qt5.9.0\5.9\mingw53_32\bin:这一个不设置,会报出找不到 QT5 的错误F:\Q...

2020-02-25 18:37:49 860

转载 一、C++中引用(&)的用法和应用实例

参见 [C++中引用(&)的用法和应用实例](https://www.cnblogs.com/mlgjb/p/8821340.html)

2020-02-25 09:18:51 631

原创 三十、Qt之字符串和日期时间转换

QDateTime dateTime;QString dateTime_str = dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss");//从字符串转换为毫秒(需完整的年月日时分秒)datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz")...

2020-02-23 15:05:48 6526

原创 二十九、在Visual Studio中编辑QT项目时,在对组件做提升后的报错解决办法

案例:我们在使用图表模块时,若需要手动设计界面,一般是将 QgraphicsView 提升为 QChartsView,我们这里就以这个为例来进行讲解:第一步:拖拽 QgraphicsView 控件并提升这里的头文件我们写的是 qchartview.h,这是没问题的,但是后面就是因为引入方式而报错了!!第二步:报错在我们编译项目之后,会报错,报错如下:所有的报错都是在 ui_myma...

2020-02-14 13:29:36 1365 6

原创 二十八、Qt之关于绘画模块的理解

要理解Qt的绘画模块,核心就是理解Qt的坐标系统:视口坐标、视图坐标窗口坐标、场景坐标视口坐标视口坐标,又可以叫做物理坐标,又或者视图坐标,表示绘图设备的任意一个矩形区域的物理坐标,可以只选取物理坐标的一个矩形区域用于绘图。默认情况下,视口等于绘图设备的整个矩形区域。窗口坐标窗口坐标,又可以叫做逻辑坐标,又或者场景坐标,它的坐标系是以绘图设备的中心为原点,构建坐标系。窗口坐标优...

2020-02-13 17:42:57 339

转载 二十七、visual studio + qt5.9出现“无法找到源文件ui.xxx.h”解决办法详细步骤

参见vs2013 qt5.1出现“无法找到源文件ui.xxx.h”解决办法详细步骤

2020-02-13 11:02:42 834

转载 二十六、Qt 之 delete

参见 从 Qt 的 delete 说开来

2020-02-12 17:18:31 436

原创 二十五、Qt之自定义图形视图组件,扩展基础 Widget 功能,以 QGraphicsView 组件为例

一、使用场景QGraphicsView 是 Qt 的图形视图组件,在 UI 设计器的 Display Widget 分组里可以拖放一个 QGraphicsView 组件到窗口上。但遇到下面的场景时:当鼠标在 QGraphicsView 上移动时就显示当前光标的坐标,这涉及到 mouseMoveEvent() 事件的处理。但是 QGraphicsView 并没有与 mouseMoveEvent(...

2020-02-12 15:33:01 3222 3

原创 二、VS插件之VassistX

参见VassistX的简单介绍与下载安装软件下载:链接:https://pan.baidu.com/s/1AcNnIjM59yunR0WmEAy1DA提取码:hh4h

2020-02-11 16:20:57 670

原创 一、Visual Studio设置回车(enter)代码补全

参见Visual Studio 2017设置回车(enter)代码补全

2020-02-11 15:40:05 2648

原创 二十四、Qt之使用动态库

在 Qt 中,动态库又叫共享库一、调用动态库之方式一:隐式链接调用动态库备注:应用程序的编译器版本+位数必须与动态库的编译器版本+位数一致,才能编译通过!!比如动态链接库是在 MSVC2015+32bit 环境编译的,那么应用程序的编译环境也必须是 MSVC2015+32bit。第一步:收集在项目的源文件目录下创建一个 include 子目录,将库的头文件 qwdialogpen.h ...

2020-02-11 14:55:57 1569

原创 二十三、Qt之导入静态库

案例:以二十五、Qt之自定义 Qt Designer 插件文章中导入的插件为例:第一步:收集在项目的源文件目录下创建一个 include 子目录,将库的头文件 qwbattery.h 、插件的 debug 和 release 两种模式编译生成的库文件 qwbatteryplugind.lib 和 qwbatteryplugin.lib 复制到此目录下,项目在编译链接时需要此头文件和库文件。...

2020-02-10 17:04:07 2944 4

原创 二十二、Qt之使用 MSVC编译器输出中文乱码的问题

问题:选用QT是为了跨平台,在linux下默认是utf8无BOM头,但是这种文件在windows上有问题。mingw版本还好,能编译,但是msvc版本会按照local字符集处理,遇到中文就会出错。解决办法:方法一(推荐):在每个使用到中文字符串的头文件和源程序文件的前部加入如下语句:#if _MSC_VER >= 1600 //MSVC2015 > 1899, MSVC_VE...

2020-02-10 16:39:11 727

原创 二十一、Qt之自定义 Qt Designer 插件

一:检查 Qt Creator 编译器版本单击 Qt Creator 的 “帮助”–>“关于 Qt Creator”菜单,出现的对话框会显示 Qt Creator 的版本信息和使用的编译器信息。Qt5.9的 Qt Creator 是基于 MSVC2015 32bit 编译器编译的。二:配置 MSVC2015 32bit 编译器参见 Qt5 + msvc2015编译器 环境配置 (不安装...

2020-02-10 16:28:32 2647 2

原创 二十、Qt lnk1158 无法运行rc.exe 解决方法

在 Qt 上使用 MSVC2015 x86 编译器编译项目,在debug模式下运行程序时报错:“error lnk1158 无法运行rc.exe”系统环境:Win7 64位,Qt5.9 MSVC2015_32bit解决方法:找到rc.exe的放置路径,比如C:\Program Files (x86)\Windows Kits\8.1\bin\x86(不确定 Kit 的版本的话,找安装 MSV...

2020-02-10 15:30:26 690

原创 十九、Qt5.9 + msvc2015编译器 环境配置 (不安装VS)

问题使用 Qt 自定义创建的 Widget 插件,若要在 Qt Creator 的UI 设计器里正常显示,编译插件的编译版本必须和编译 Qt Creator 的版本一致。Qt5.9的 Qt Creator 是基于 MSVC2015 32bit 编译器编译的(单击 Qt Creator 的 “帮助”–>“关于 Qt Creator”菜单,出现的对话框会显示 Qt Creator 的版本信息和...

2020-02-10 11:49:45 2816

原创 十八、QT编译项目报错及解决办法

问题一:msvc-version.conf loaded but QMAKE_MSC_VER isn’t set解决办法:Qt之msvc-version.conf loaded but QMAKE_MSC_VER isn’t set问题二:“Could not determine which ”make“ command to run. Check the ”make“ step in the...

2020-02-08 20:13:43 1601

原创 十七、QT之发布应用程序

一、Windows 发布工具windeployqt.exe 是 QT 自带的 Windows 平台发布工具,在编译器的bin目录下,比如:D:\Qt\Qt5.9.0\5.9\mingw53_32\bin目录下将该 bin 路径添加到环境变量 path 中。二、MinGw编译的应用程序发布实例1、将实例程序 samp14_3 用 MinGw 编译器在 release 模式下编译(Ctrl...

2020-02-07 16:19:20 334

原创 十六、QT之常用样式(样式代码可直接使用)

qt中漂亮的几款 qss 样式QSS样式表之PS黑色风格+白色风格+淡蓝色风格(开源)Qt QSS常用样式总结

2020-02-07 11:52:06 3867 1

原创 十五、QT之 extern 关键字传递全局变量

案例1、声明全局变量main.cpp#include "mymainwindow.h"#include <QApplication>#include <QTranslator>#include <QSettings>//全局变量QTranslator *translator = NULL;QString readSetting();int...

2020-02-07 10:38:21 2478

原创 十四、获取 QApplication实例

qApp 宏就可以获取 QApplication 实例,只要使用了 Q_OBJECT 宏,或者继承 QObject 对象,就可以使用该宏。

2020-02-07 10:30:56 2887

原创 十三、QT之Error while building/deploying project **(kit: Desktop Qt 5.2.0 MinGW 32bit) 执行步骤 'qmake'时

问题原因项目路径中有中文!!

2020-02-07 09:16:15 2069

原创 十二、Qt之 qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method

问题在进行网咯操作时,报错如下:qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method解决办法将 QT安装目录下:D:\Qt\Qt5.9.0\Tools\mingw530_32\opt\bin 文件夹下的 libeay32.dll 和ssleay32.dll 复制到 D:\Qt\Qt...

2020-02-06 16:43:21 426

原创 十一、Qt数据库操作之事务

案例如下void transactionDemo(){ QSqlDatabase conn = QSqlDatabase::addDatabase("QMYSQL"); conn.setHostName("localhost"); conn.setPort(3306); conn.setDatabaseName("qt_db"); conn.setUse...

2020-02-03 11:56:52 1749

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除