Qt
文章平均质量分 52
一个强大的C++第三方库
ISmileLi
爱人生,爱微笑,一个爱分享的程序猿!
展开
-
Qt框架之解析和构建Json格式数据-程序员不得不懂的一种数据格式。
文章首部添加 @TOC(注:编辑器会根据文章标题自动生成目录)一、json格式简介1、概念JSON是一种轻量级的数据交换格式,采用key-value键值对的方式来存储数据,主要用于网络通讯传输、本地配置文件等,易于人阅读和编写。2、json中的对象和数组对象:采用大括号{},括起来,中间的以key-value的形式存储,形如{“name”:“ISmileLi”}。数组:采用中括号[...原创 2020-03-14 18:09:31 · 1430 阅读 · 0 评论 -
VS2013提示Qt代码无法显示QString的值解决办法
联网状态下:在VS2013上工具->扩展和更新->联机->右上角搜索 下载Qt VS Tools工具后,重启VS2013就可以了。没有联网的话需要手动下载一个离线包安装一下就可以了。...原创 2019-12-25 20:50:35 · 1993 阅读 · 0 评论 -
Qt之生成png/jpg/bmp格式图片
一、问题描述:有时候需要把Qt绘制的一些图形保存为png/jpg/bmp格式的图片,下面就根据自己写的一个简单的测试程序来讲解一下Qt中保存图片的方法。本文主要讲解使用Qpainter和QImage组合使用保存图片的方法。二、显示效果:1、界面显示效果: 2、生成的图片及图片显示效果: 三、核心代码示例:#include "widget.h"#include "ui_widget.h"#in原创 2017-12-23 15:36:41 · 18762 阅读 · 2 评论 -
Qt之QWebEngineView调用Echarts方法
最近在做Qt绘制散点图和统计图的方法,顺便研究了一下Qt中使用Echarts的方法,Echarts功能很强大,Qt中调用其他也很方便。我使用的是Qt5.6版本中的QWebEngineView显示Echarts图的,Qt5.4(包括5.4)之前的版本是使用QWebView进行显示的,方法都是一样的。测试代码写的比较简单,只是为了说明使用。一、效果图如下: 效果图中的html代码是从官网中直接粘贴下来原创 2017-12-24 23:23:46 · 7578 阅读 · 3 评论 -
QString转化为char*问题,中文路径问题
今天遇到一个很奇怪的问题,程序运行要生成中间结果,并以xml文件的形式保存起来。但是打包起来之后,死活就是生成不了xml文件。调试代码时发现又没有什么问题,中间结果可以生成。由于之前这块不是自己写的,也没有特别在意。最后测试半天才发现,打包程序中含有中文路径。是QString转化为char*时导致的。一、QString 转化为char*的方法: 说明:最重要的是toLocal8Bit()的使用,Q原创 2017-12-25 16:42:23 · 1812 阅读 · 0 评论 -
QCustomPlot使用之绘制散点图
一、简单概述:QCustomPlot是基于Qt封装的一个图形绘制库、可以绘制散点图、曲线图、柱状图等各种图形,并可以把各种图形导出为png、jpg等各种格式的图片,使用很方便,只有两个文件qcustomplot.h和qcustomplot.cpp,这两个文件直接加到工程中即可。需要说明的是这个库依赖Qt中的Qt5PrintSupport模块,使用时添加上该模块即可。二、下载地址: QCustomP原创 2017-12-18 10:36:56 · 18150 阅读 · 1 评论 -
QUdpSocket实现聊天功能(事件过滤器、回车发送聊天内容)
一、使用QUdpSocket实现类似微信聊天功能,输入完聊天信息按回车键发送聊天内容,文中使用到注册事件过滤器方法,socket通讯没有服务端与客户端之分的,本文为了区分演示用,控件上取名字时取了服务端和客户端。其实它们的代码实现是一样的,只是监听的端口号不一样。二、效果图 三、核心代码#include "WidgetUdpClient.h"#include "ui_WidgetUdpClien原创 2017-12-18 17:34:10 · 595 阅读 · 0 评论 -
QCustomPlot之绘制柱形图、直线、清空图形方法
最近使用QCustomPlot绘制柱形图、直线时,遇到在同一个widget上显示需要把上一次绘制的图形删除的问题,费了很长时间才解决这个问题。在这里分享一下自己解决的办法,写了一个测试demo。一、效果图如下: 二、核心代码如下:#include "widget.h"#include "ui_widget.h"#include Widget::Widget(QWidget *原创 2018-01-11 13:57:12 · 16495 阅读 · 9 评论 -
Qt使用html生成word文档
项目中要用到把一些图片和一些报告保存为word文件,今天研究了一下,主要是使用html方法保存为word文档,这对html的使用有一定的要求,由于自己之前html的使用也不多所以搞了很久。下面在这分享一下自己的经验,希望对需要的有帮助。 一、效果图: 二、核心代码#include "widget.h"#include "ui_widget.h" #include QFile>原创 2018-01-18 22:00:40 · 9056 阅读 · 13 评论 -
Qt实现生成PDF文档
Qt生成pdf方法网上也有很多,但是大多树都是单独生成文字的PDF或者单独生成图片的PDF,要把文字和图片同时生成在一张PDF文件上还真不那么容易。本文采用的两种方法生成PDF,一种是使用html文件的方法生成PDF文件,另一种是采用QPainter绘制的方法。两种方法都不简单,但我倾向于使用html的方法。html的方法和生成word的方法差不多,可以参考我的博客中生成word的方法:htt原创 2018-01-19 18:07:53 · 11823 阅读 · 5 评论 -
QFile清空原来文件内容的方法
最近做项目用到QFile进行文件的读写,发现写进去之后,文件原来的内容也一直存在,而QFile又没有提供清空的方法。经过多次尝试发现只需要在读写时设置对方式就可以了。 代码如下:读文件时,open函数设置QIODevice::ReadOnly 或者QFile::ReadOnly模式QDomDocument doc("mydocument");QFile file(filePath)...原创 2018-04-09 12:47:32 · 24505 阅读 · 1 评论 -
Qt中获得应用程序绝对路径的方法
一、有时候做项目使用应用程序的绝对路径可能更安全一点,使用绝对路径的方法有两种:1、使用QCoreApplication提供的几个静态函数。2、使用main函数中的argv[0]+QDir。二、代码:#include "mainwindow.h"#include <QApplication>#include <QVBoxLayout>#include <...原创 2018-05-26 22:45:33 · 11393 阅读 · 0 评论 -
QTableWidget之设置表头QHeaderView背景色
一、说明:一年没有搞Qt啦,一个同事问我QTableWidget相关字体颜色的设置问题,特别是表头怎么设置都不成功。网上一堆说用setStyleSheet设置background-color,然而没有卵用。二、设置成功的方法如下:ui->tableWidget->horizontalHeader()->setStyleSheet( "QHeaderView::section ...原创 2018-11-11 22:55:27 · 21381 阅读 · 6 评论 -
读文件使用QProgressBar显示进度
有人问读取文件时怎么使用进度条显示读取百分比,在此写了个小例子希望对初学者有一定的帮助,提供一个思路。 一、功能描述:读取文件,使用QProgressBar显示读取进度,并把读取的文件显示在QPlainTextEdit上面。二、效果演示: 三、代码示例:/***************.h文件***************/#ifndef WIDGET_H#define WIDGET_H#i原创 2017-11-26 22:23:29 · 3086 阅读 · 0 评论 -
Qt应用程序“xxx.exe 已停止工作 故障模块msvcr120.dll”
一、问题描述:相信许多程序员都遇到过这种问题,好不容易写好程序,准备打包啦。在自己电脑上运行时,一切都很正常,放到其他电脑上死活运行不起来、要么出现很多问题,最糟糕的是直接崩溃!最近就遇到了一个让我崩溃的问题,在其他电脑上运行时一直出现“xxx.exe 已停止工作 故障模块msvcr120.dll”,使用各种修复工具修复dll,使用depenency walk找各种依赖库都没有解决该问题。错误截图如原创 2017-12-22 23:00:54 · 6862 阅读 · 3 评论 -
C++/Qt字符类型转换
类型转换是工作中常遇到的问题,本文是根据自己在工作中遇到的一些类型转换问题整理成章的,写的一般,希望对有需要的人能提供一些帮助。1,float类型转化为QString类型: float tempSvgValue = svgValue.toFloat()*16*3/4; QString bufSvgValue = QString(“%1”).arg(tempSvgValue);2,QString类原创 2017-11-19 14:33:33 · 781 阅读 · 1 评论 -
QTreeview之setData绑定一个对话框
一、问题描述:点击QTreeview节点实现弹出一个对话框,由于每点击一个节点都要弹出一个对话框,所以把对话框定义成类的成员函数肯定是不行的。但是在多次点击同一个叶子节点时会弹出多个对话框,这又不满足需求啦。二、解决思路:要满足要求有两种思路,第一种是把treview节点和对应的对话框指针保存到一个容器中,每次点击时先查看容器中是否保存了该节点对应的窗口指针,这种方法应该是可行的,但是比较麻烦点;第原创 2017-11-21 18:17:19 · 1515 阅读 · 3 评论 -
QMainWindow中setCentralWidget和takeCentralWidget组合使用
QMainWindow是做Qt开发最熟悉的控件啦,最近在做一个项目是由于调用的是一个封装好的库而无法直接使用Qt设计师设计界面只能使用代码码布局。主界面只能默认一个布局,当需要另外一个布局时就需要把之前的布局隐藏掉。在只是用setVisible去控制的工程中,一直出现崩溃的问题。经过多次尝试,查找原因发现切换布局时需要把之前的布局拿掉才行。这时候就要用到QMainWindow提供的setCentra原创 2017-11-20 11:06:07 · 10292 阅读 · 1 评论 -
C++/Qt中调用函数ShellExecute()打开图片或者word文档的使用方法
1、本文的测试环境是win764+vs2013+Qt5.6。 2、使用函数shellExecute调用windows图片浏览器或者IE浏览器打开jpg格式的图片。 3、使用函数shellExecute调用windows office打开word文档。 4、使用该函数注意中文路径的问题( 如有中文路径问题,可以参考我的博客,博客地址:http://blog.csdn.net/toby54king原创 2017-11-19 15:05:59 · 7139 阅读 · 2 评论 -
QCombox和QDateTimeEdit组合实现今日、本月、本季、本年、自定义时间的切换
一、实现功能:使用QCombox和QDateTimeEdit实现今日、本月、本季、本年、自定义时间的切换,今日、本月、本季、本年默认时间不可以修改,自定义时可以修改。二、说明:由于能力有限,没有找到好的方法,代码写的也比较low,也没有进行优化,只希望能给用到的人提供一种思路。三、效果截图:四、代码示例:connect(ui->comboBox,SIGNAL(currentTextChanged(c原创 2017-11-22 13:32:49 · 2027 阅读 · 0 评论 -
windeployqt指令打包Qt程序依赖库
一、问题描述: 编写完Qt程序后需要打包时,往往会需要许多的依赖库,一个一个找肯定是太浪费时间,这时候只需要使用windeployqt指令打包Qt程序依赖库即可。二、使用方法: 1、先建一个文件你想打包进去的文件夹,并把Qt应用程序放进去。 2、在开始菜单中选择你使用的Qt版本并打开cmd指令对话框。 3、使用windeployqt + 打包程序的路径打包即可。三、图形示例:1、开始菜单中选原创 2017-11-22 14:27:54 · 920 阅读 · 0 评论 -
QTcpSocket和QTcpServer实现聊天小工具
一、说明:有一段时间没有使用socket编程了,这两天抽时间使用QtcpSocket和QTcpServer写了一个简单的聊天小工具。二、效果截图如下: 三、核心代码/***************************ServerWidget.cpp*************************/#include "ServerWidget.h"#include "ui_ServerWi原创 2017-12-11 14:15:05 · 575 阅读 · 0 评论 -
QWT6.1.3编译、配置和使用(Vs2010+Qwt6.1.3+Qt5.5.1编译)
网上有许多介绍QWt编译方法的,但是别人介绍的大多数都是顺利能够编译过的,实际自己编译过程中可能就不会那么顺利,我在编译VS2013+Qt5.6.2+Qwt时很顺利的编译通过啦,但是在编译vs2010+Qt5.5.1+QWt时就出现了很多问题,下面就我自己遇到的一些问题总结如下,希望能帮助到他人。(win7)一、问题描述: 1、电脑上安装的Qt版本和vs版本太多该怎么编译vs2010+Qt5.5.原创 2017-12-20 13:56:22 · 3985 阅读 · 0 评论 -
QLabel和QTimer之滚动字幕
一、实现功能:有时候做项目需要用到滚动字幕的效果,其实实现很简单,只需要使用一个定时器QTimer和QLabel就可以达到效果啦。二、实现效果: 三、代码示例:/***************.h文件***************/#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTimer>namespace Ui {原创 2017-11-25 23:55:07 · 835 阅读 · 0 评论 -
QLabel和QTimer之滚动字幕完善
一、实现功能:之前写的滚动字幕由于时间太晚了,写的不是很好,今天又完善了一下,代码修改的也比较少,之前的文章地址:http://blog.csdn.net/toby54king/article/details/78635196二、演示效果: 三、代码示例: 由于只修改了,几行代码就不在全部粘贴出来了,完整代码请参考之前写的。// 函数说明:定时器刷新// 作 者:ISMILE_LIvoi原创 2017-11-26 12:39:56 · 590 阅读 · 0 评论 -
“QCoreApplication::applicationDirPath: Please instantiate the QApplication object first”问题
今天做项目遇到的一个小问题,在此记录一下。一、问题描述:使用QApplication::applicationDirPath()时出现“QCoreApplication::applicationDirPath: Please instantiate the QApplication object first”提示,一开始感觉很奇怪不知道怎么回事。百度翻译了这句话意思是,请applicationdir原创 2017-12-22 22:24:33 · 15882 阅读 · 0 评论 -
Qt出现乱码解决办法
Qt中出现乱码解决的办法 一、Qt4设置中文乱码: Qt中文件路径中出现汉字时会显示乱码,可在main函数中增加以下语句: QTextCodec* textCodec=QTextCodec::codecForName(“GB2312”); QTextCodec::setCodecForLocale(textCodec); QTextCodec::setCodecForCStrings(t原创 2017-11-17 18:06:11 · 2835 阅读 · 0 评论