qt软件开发
以实践为线索,记录使用qt开发软件的整体流程和思路
码肥人壮
三好员工: 好困好饿好想下班。
展开
-
商业项目如何选择开源代码
有些项目是有多个许可协议的,可能针对不同部分使用不同的 GPL 许可,所以含有 GPL许可的项目最好不要用。2、LGPL 许可的项目中是否还有 GPL 许可协议,有的最好不要使用。1、MIT、BSD、apache2、LGPL v3 这种明确可商用。原创 2024-03-27 11:59:20 · 185 阅读 · 0 评论 -
qt加载第三方字体
软件开发中,需要绘制很多icon,或者一些特殊字体,这个时候就可以添加自己的字库作为一种解决方案。原创 2023-06-12 10:11:31 · 1187 阅读 · 0 评论 -
qt项目添加编译报错选项
在大型的项目开发中,由于开发代码量过多,开发人数过多且风格各有特色,导致代码质量难于把控,除了编码上面统一的一些规范外,在qt项目中我们可以使用如下参数设置对代码的编译进行初步过滤,把不规范或者无用的代码使用编译报错的方式过滤出来。从上面注释来看,其实就是给编译器传参数,从而控制编译的过程,一定程度上实现编译器自定义控制。......原创 2022-06-06 17:40:36 · 1292 阅读 · 0 评论 -
客户端黑白风格颜色使用指南
一 背景颜色用面与面来区别各个组件之间的不同,通常会找一个跟背景色相差无几,稍微深一点或者浅一点的颜色。这个颜色唯一的功能就是告诉人们这两个区域是不同的,仅此而已。下面推荐集中颜色:为了不抢占人们太多注意力,在白色的背景上一般用非常浅的灰,深色背景上用的则是比背景色稍浅或者稍微深一点的灰。颜色对照表: https://tool.oschina.net/commons?type=3颜色选择网站: https://flatuicolors.com/二 字体、内容颜色UI中文字的层级关系,除了用字原创 2022-03-01 16:41:40 · 531 阅读 · 0 评论 -
qt使用QDesktopServices打开视频及文档
说明在我们的客户端软件中,有时候存在演示或帮助视频,软件本身又不想去实现视频播放界面,这种情况下我们就可以使用QDesktopServices类去调用系统的默认播放器播放视频。同理,pdf、word、网址等都可以使用该方法打开。1 打开视频包含头文件: #include <QDesktopServices>运行代码: QString strPath = "./"+tr("演示视频.mp4"); bool bRet = QDesktopServices::op原创 2022-02-24 14:39:29 · 1248 阅读 · 0 评论 -
软件运行唯一性
软件运行唯一性,我这里的意思同一个app,同一时间,只能有一个实例化运行。为了使一个应用程序在同一时间只运行一个实例,需要用某种方法在程序启动时,检测是否已有正在运行的实例,如果有则直接退出,如果没有,则正常启动。1、共享内存实现:使用qt代码做示范,main函数中添加如下代码:int main(int argc, char *argv[]){ QApplication a(argc, argv); QSharedMemory shared_memory("openOne_thi原创 2021-11-08 10:16:50 · 420 阅读 · 0 评论 -
摸鱼检测小软件
基于qt写的摸鱼检测小软件。原创 2021-12-03 15:01:11 · 916 阅读 · 3 评论 -
软件打包、部署
软件的打包情况qt一般使用windeployqt ,将所有依赖的动态链接库拷贝过来。如果需要将这些文件都打包成一个exe,使用Engima Virtual Box工具完成,注意,打包成一个exe文件后,文件内部所有东西不可写入,即配置、日志文件这些都不能加入。打包成安装包,使用另外一个工具。...原创 2021-12-08 10:20:27 · 252 阅读 · 0 评论 -
业务层—上下位机通讯协议
上下位机通讯一般使用tcp/ip,或者串口进行通讯。大部分使用标准modbus协议,或者修改的modbus协议,又或是自定义的类似modbus协议。原创 2021-12-01 10:44:43 · 718 阅读 · 0 评论 -
UI层—数据库表显示方案
针对嵌入式的方案。针对PC的方案。UML类图展示。原创 2021-11-29 16:28:18 · 933 阅读 · 0 评论 -
数据层——串口
其实Qt的串口已经封装的很好,QSerial可以说已经算数据层的封装了。但是为了软件更加方便,可以再次封装,便于开发。原创 2021-11-29 15:56:08 · 94 阅读 · 0 评论 -
数据层——配置
最基本的使用QSetting,复杂点使用xml、json。有的ORM(对象关系映射)集成序列化,可以直接将内存中的变量序列化为xml或Json。如QxOrm支持。原创 2021-11-29 15:53:19 · 89 阅读 · 0 评论 -
数据层——数据库
一般使用ORM,对象关系映射。可以的话,推荐使用QxOrm,基于GPL v3开源库。也可以自己写一个ORM。原创 2021-11-29 15:50:31 · 359 阅读 · 0 评论 -
UI层——软件统一弹窗控件
设计一个弹窗类,可实现软件的各种弹窗。原创 2021-11-29 15:47:47 · 132 阅读 · 0 评论 -
软件基本框架设计
三层或四层结构设计,界面、业务、数据三层。原创 2021-11-29 15:45:55 · 1225 阅读 · 0 评论 -
数据层——日志系统
基于qt4Log原创 2021-11-29 15:43:58 · 202 阅读 · 0 评论