- 博客(54)
- 收藏
- 关注
原创 做好软件项目总结会
简述由于项目需要做个总结会,网上很少有针对软件项目的模板,把自己做软件开发部署项目总结会的内容记录一下。详述软件项目总结可分为四个基本部分:1.项目概述项目概述中可以描述任务来源、基本需求;项目名称、面向用户、项目成员等。2.实际开发结果2.1 产品软件产品介绍,结合场景图等。2.2 系统软件主要功能总体功能与子模块的介绍、结合软件界面截图。2.3 系统基本流程系统工作流程...
2018-12-18 16:46:47
4372
原创 Qt下实现序列化与反序列化
简述本文介绍作者在Qt工程中如何将流数据编程结构体对象,把结构体数据编程流数据的实现。代码量不大,非常简洁。代码之路写了一个工具类MyDatastream,使用时需要实例化对象,调用相应的序列化或反序列化函数即可,读者可以根据自己定制的结构体自行扩展。例子中的结构体如下:struct UserInfo{ unsigned char id[20]; int idint; uns...
2018-12-18 14:22:31
9460
4
原创 Linux下解决发布Qt程序报错:it could not find or load the Qt platform plugin “xcb” in “”
简述用Qt5.8版本在ubuntu16.04版本下编写Qt应用程序,生成release版本并打包,到另一台无Qt环境的linux系统中运行。网上通常是按以下几个步骤进行:1、生成release程序。2、拷贝release程序到一个新文件夹,执行一个脚本文件。脚本文件的作用是:ldd 程序名,并拷贝程序依赖的库到这个新文件夹。3、编写一个和程序同名的sh文件,以此作为启动程序。不直接用re...
2018-12-13 14:28:33
26189
13
原创 Qt下实现JSON格式的转换
简述JSON格式一种轻量级的数据交换格式,跨平台,兼容性高,具有良好的可读性和快速编写的特性。下面来实现JSON与一般数据的相互转换。主要使用Json对象类QJsonObject和Json数组类QJsonArray生成节点,使用QJsonDocument生成最终json格式数据。代码之路json格式如下:示例:{ "num": "300", "type": 1, "
2018-12-12 09:35:31
4716
2
原创 堆与栈的区别,程序使用内存区域划分
简述内存区域划分是比较重要但也常令人忽视,我也是最近才比较清晰,记录一下。程序使用内存划分一个程序占用的内存分为以下几个部分:1、全局区(静态区)(static)全局变量和静态变量存储的区域,程序结束后由系统自动释放。2、常量区常量存储的区域,程序结束后系统自动释放。3、堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收(对于Java、C#而言)。...
2018-12-11 09:22:40
326
原创 Qt程序显示控制台调试信息
简述QT窗体程序的调试信息无法直接看到,通过一定的方法可以把qDebug、cout出来的信息在单独的控制台界面显示出来。显示的效果如下:背后是控制台界面,可以显示调试信息;前面是窗体程序。实现方法1、在pro文件中加入一句 CONFIG +=console2、qDebug()的输出信息可以直接在console界面显示了;若想采用cout的方式输出显示,可以有两种方式。//方式一 #i...
2018-12-10 09:49:54
7457
原创 Qt下实现多线程的串口通信
简述Qt下无论是RS232、RS422、RS485的串口通信都可以使用统一的编码实现。本文把每路串口的通信各放在一个线程中,使用movetoThread的方式实现。代码之路用SerialPort类实现串口功能,Widget类调用串口。serialport.h如下#include <QObject>#include <QSerialPort>#i
2018-12-07 09:22:57
26981
45
原创 Qt下实现简单工厂设计模式
简述简单工厂设计模式是一种基础简单而常用的设计模式,对理解封装、继承和多态特性有非常大的帮助。下面就来在Qt下实现简单工厂模式。代码之路实现简单工厂至少需要四个类。其中最主要的两个类是工厂类和一个基类,另外的类都是这个基类的继承类。下面的例子中工厂类是factory,基类是BasicClass,两个继承类分别是ClassA和ClassB。基类BasicClass的实现如下//basicc...
2018-11-30 09:50:16
4022
3
原创 使用QTableWidget绘制的表格
简述QTableWidget是qt自带的表格控件,可以方便的绘制表格。实现效果如下所示:代码之路头文件包含声明private: QTableWidget* m_tableWidget; QLabel* m_label; QVBoxLayout* m_vlayout; //界面布局源文件的表格初始化void Page::initWidget(){ //标题 m_label ...
2018-11-26 09:36:09
3245
原创 QtChart实现曲线图表绘制之极坐标系
简述QtChart绘制极坐标图表数据和直角坐标没有太大区别,还是这四个步骤:实例化图表。直角坐标使用QChart,极坐标是使用QPolarChart;实例化坐标轴。依然是使用QValueAxis类;实例化画布。可以使用QChartView类或QGraphicsView类;实例化曲线。折线使用QLineSeries类,曲线使用QSplineSeries类一个简单的极坐标图表如下所示:...
2018-11-23 16:42:48
9382
17
原创 QtChart实现曲线图表绘制之直角坐标系(支持曲线消隐、数据点突出、数据驱动刷新、鼠标进入显示数值)
简述Qt下绘制曲线图表的方法选择很多,下面我将介绍如何使用QtCharts绘制优雅图表。本文的Demo支持点击Mark图标消隐曲线;数据点的突出显示;鼠标进入提示数值;数据驱动刷新显示;图表自动缩放,可移植性比较好。需要说明Demo的编码环境是Qt Creator 5.8,使用Create5.2-5.6版本的用户,网上下载编译安装QtCharts库即可,5.7版本之后只需在.PRO文件中加入...
2018-11-23 15:49:35
8722
7
原创 QLineEdit提高用户体验的方法(密码隐藏、背景提示文字、显示可输入字符的范围)
1. 简述QLineEdit即单行文本编辑器,是Qt下常用的人机交互控件,用来接收用户输入的信息。QLineEdit并不像表面那么简单,下面介绍如何在QlineEdit下实现密码自动隐藏、背景提示文字,以及控制输入字符的范围。效果图如下:2. 代码之路2.1 密码隐藏密码隐藏就是用户在输入密码等信息时,输入控件的信息自动隐藏,而显示特殊字符来标识显示输入文字的个数。密码隐藏有2种实...
2018-11-20 20:18:28
5262
2
原创 Qt下实现支持多线程的单例模式
代码介绍实现单例模式的方式很多,代码更多。本文中的单例模式实现代码是本人一直在工程项目中使用的,拿出和大家交流分享。采用双检索的方式,支持多线程,集成析构类,杜绝内存泄漏,稳定性好。使用C++/Qt的朋友们可以了解一下。不再废话,直接上代码。代码之路头文件makelog.h#include <QMutex>#include <QObject>class Mak...
2018-11-19 22:06:46
4491
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅