- 博客(43)
- 收藏
- 关注
原创 Linux串口工具cuteCOM源码(工具包含发送文件功能)
源码是基于cutecom-0.22.0版本(qt3版本),在qt5环境下编译的,界面如下所示。
2025-04-10 12:03:15
198
原创 麒麟桌面系统(kylin-desktop-v10-sp1)文件管理器屏蔽网上邻居
设备连接上网络之后,麒麟系统的网上邻居会自带扫描周围的共享设备(特别是支持smb协议的共享打印机),如果客户的内网共享设备特别多,打开文件管理器时,会很影响体验。
2025-03-20 09:04:24
211
原创 【国产桌面操作系统开发】在普通用户权限下运行root权限的程序
用户通常是在桌面系统的普通用户下使用系统,可能某些开发的应用必须在root下面运行,而直接在脚本中执行sudo 【应用程序】是无法执行程序的,以下讲解麒麟kylin和统信UOS桌面系统的在普通用户权限下运行root权限的程序方式。
2025-03-18 10:17:10
131
原创 【QT常用技术讲解】window系统以CMD命令行方式执行第三方程序及注册表文件命令
在window下(本篇为window10),调用第三方应用,可以调用后台CMD执行的命令行。如果是浏览器调用第三方应用,可以通过自定义域名调用指定的处理脚本,处理脚本再调用第三方软件。本篇只讲解QT程序调用后台CMD执行的命令行的方式,浏览器的方式在其他文章中。
2025-03-07 16:57:38
148
原创 【linux】KVM、vbox虚拟机重要的后台命令
kvm和vbox目前都是开源的虚拟化工具,kvm的通用性强,vbox在图像处理上会更好,各有特点,以下讲解它们的主要的后台命令行。
2025-03-06 17:20:15
449
原创 【Linux C/C++开发】Linux系统轻量级的队列缓存mqueue
需求场景:某些功能需要在root用户下作为服务执行,组装的生产数据需要推送给登录系统桌面的普通用户权限的应用。下面以在root权限下运行的读取usb信息的服务,监测USB的插拔事件并把信息推送到mqueue,而普通用户的应用通过读取mqueue获取USB插拔信息为例。
2025-02-20 18:17:15
515
原创 【Linux C/C++开发】udev监测USB事件
本人的国产化桌面系统项目需要对接入Linux系统的USB设备进行事件及更详细的信息管理,libusb库是不够的,需要使用udev库,比如我的项目需要区分摄像头/位图设备、存储设备、鼠标键盘设备等的插拔事件,此时需要调用udev库,下文主要讲解C/C++开发怎么引用udev库。
2025-02-20 11:44:35
198
原创 【QT常用技术讲解】国产Linux桌面系统+window系统通过窗口句柄对窗口进行操作
本人的国产化项目涉及在国产Linux系统(宿主机)与window系统(虚拟机)的应用窗口交互功能:国产Linux系统与window生成一对一匹配的虚拟应用窗口,当点击虚拟应用窗口时,window端需要从任务栏中激活并显示到桌面最顶端。本篇将分别讲解国产桌面系统(统信UOS和麒麟kylin系统)和window10上通过窗口句柄实现对窗口的操作。
2025-02-19 11:21:52
588
原创 【QT常用技术讲解】QTablewidget点击表头自动排序的两种方式
QTablewidget字段多,字段排序的需求就有了,以下是介绍两种点击表头字段进行的排序方式。
2024-12-26 12:04:54
634
原创 【QT常用技术讲解】excel表格处理两种方式:QAxObject和qtxlsx
QAxObject和qtxlsx都可以处理表格,QAxObject比较慢,并且功能少,建议是使用qtxlsx。
2024-12-26 06:00:00
466
原创 【QT开发自制小工具】PDF/图片转excel---调用百度OCR API接口
前几年WPS还可以免费处理5页以内的PDF转excel,现在必须付费了,而且百度其他在线的PDF转excel都是要收费的,刚好前几年调研过百度OCR的高精度含位置接口,依然是每天可以免费调用50次,本篇是基于此接口,开发免费的PDF/图片转excel工具。
2024-12-25 22:56:41
899
原创 Linux服务器端自动挂载存储设备(U盘、移动硬盘)
Linux服务器挂载存储设备需要使用mount,因为服务器的存储通常是固定的,很少存在频繁的插拔USB存储设备的现象 ,使用Linux系统本身是没有较为简单的自动挂载存储设备的方法的。
2024-12-25 00:02:00
718
原创 【QT常用技术讲解】发送POST包(两种方式:阻塞方式及非阻塞方式)
http/https(应用层)协议是广泛使用的网络通信协议。在很多与第三方API对接的场景中,通常是通过http/https协议完成,比如API对接时,通常要通过POST包获取access_token进行鉴权,然后再进行数据交互(本篇也包含有对接收数据的json数据解析代码)。本篇以百度AI的API接口的access_token鉴权为例,通过QT特性QNetworkAccessManager实现两种方式的POST包方式:阻塞方式和非阻塞方式。
2024-12-24 00:02:25
888
原创 【QT常用技术讲解】使用QMovie+QLabel播放gif动态图片,实现“正在加载”功能(源代码在资源中下载)
界面在实现事件等待时,通过会显示一个转圈圈的动态图片,表示“正在加载”,事件完成之后关闭图片,QT中可以使用QMovie+QLabel完成gif动态图片的播放及关闭的效果。
2024-12-12 22:52:56
665
原创 【QT开发自制小工具】图片处理工具
图片处理工具:转换类型(jpeg/jpg/ico转png)、转换大小(尺寸)、转换颜色(变成灰色、白色变成透明)、图片压缩、已经提取可执行exe程序的图像保存为png图片
2024-12-08 16:42:37
351
原创 【国产化开发项目】开发知识点编目及传送门
本人参与了一段时间的面向国产化替代的项目,涉及软硬件的替换,软件上是国产Linux桌面系统(宿主机)+window系统(虚拟机)的方案,我负责图形桌面QT工具的开发,存在比较多的Linux下调用window特性功能的场景,本篇主要是收录本人开发中在window端面对需求场景使用的技术,主要通过批处理脚本、reg注册表脚本、powershell脚本,以及开发的QT工具来实现相关需求场景。
2024-12-03 11:03:33
471
原创 【QT入门到晋级】QT项目打生产环境包--(Linux和window)
生产环境通常都是干净的,生产环境是不需要与开发环境一样,都安装QT框架包,但QTcreator编译出来的程序必然依赖qtcore、qtweight等特性包,所以必须把开发的程序依赖的包进行打包后,一起安装到生产环境,程序才能正常运行。
2024-11-30 23:30:54
720
原创 【国产桌面操作系统开发】获取系统硬件信息
工具型的项目,多少要跟硬件打交道,我在国产系统中开发的QT项目也多是工具,下面罗列涉及到与硬件相关的开发调研项。
2024-11-19 00:12:44
402
原创 【QT常用技术讲解】QSettings把中文输入到配置文件
在 QT 中,使用 QSettings 时,默认是将字符串以 Unicode 格式存储,而不是以 UTF-8 编码直接写入配置文件。因为涉及到配置文件,有些时候,配置信息由界面端进行写操作,而后台服务进程进行读取并处理,碰巧便于维护的要求,某些配置项需要中文时,就需要设置为UTF-8格式存储。
2024-11-18 23:03:20
666
原创 【QT常用技术讲解】优化网络链接不上导致qt、qml界面卡顿的问题
qt、qml项目经常会涉及访问MySQL数据库、网络服务器,并且界面打开时的初始化过程就会涉及到链接Mysql、网络服务器获取数据,如果网络不通,卡个几十秒,会让用户觉得非常的不爽,本文从技术调研的角度讲解解决此类问题的socket编程方案。
2024-11-13 00:20:31
653
原创 【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动
首先看网络编程的定义:两个不同主机设备之间的进程通信。C/S(Client-Server)是早期非常典型的软件架构,C/S架构虽然简单,但却非常适用于桌面图形化的QT项目。本篇的QT项目是从真实的项目中简化出来,满足很多相似的场景:创建一个TCP服务,接收到消息后,通过多线程执行后台CMD命令行,并且自动把程序放到系统自启动目录中。覆盖到QT的知识点:任务栏托盘、右键菜单、TCP服务、多线程。
2024-11-11 22:38:41
523
原创 【国产桌面操作系统开发】制作桌面快捷方式
目前使用最广的国产桌面操作系统是麒麟kylin操作系统和统信UOS操作系统,在国产系统上开发应用,需要在桌面提供一个快捷方式给用户使用,国产系统是Linux阵营,与window系统是有差异的。
2024-11-10 23:44:42
598
原创 【QT常用技术讲解】多线程处理+全局变量处理异步事件并获取多个线程返回的结果
QTableView加入勾选项后(参考【QT常用技术讲解】QTableView添加QCheckBox、QPushButton),如果支持右键菜单功能,此时就有统一执行多个异步事件,并且统一输出到界面的需求了,本篇结合多线程+共享全局变量进行开发。
2024-08-14 00:41:19
1142
原创 【QT常用技术讲解】QTableWidget添加QCheckBox、QPushButton
QT展示列表信息的时候通常用到列表(比如用户信息、机构信息、设备信息等菜单),当需要对某列进行修改、删除操作时,就需要加入按钮(QPushButton),当需要对多列进行右键菜单操作时,就需要加入QCheckBox和右键菜单功能,本篇即围绕QTableView、QCheckBox、QPushButton,以及右键菜单进行讲解。
2024-08-11 12:37:03
2477
1
原创 python pyautogui 捕捉桌面按钮,并进行点击操作
有些自动化场景,需要监测系统桌面是否出现指定的按钮,本文是通过在window系统上,捕捉桌面的【关闭电脑】按钮,并点击该按钮来演示整个流程。
2024-08-05 00:15:49
696
原创 【QT常用技术讲解】多线程编程处理卡顿
QT应用本身是一个进程,当通过QProcess创建一个进程来执行其他任务时,QT应用是被阻塞的,必须等待QProcess创建的进程执行完,才能继续往下执行,这是典型的进程阻塞模式。而使用多线程,则是“并行执行”的效果,此时QT应用就不会有卡顿现象,多线程是QT项目处理卡顿现象最常用的方法。
2024-08-04 23:42:57
483
原创 【QT常用技术讲解】tableWidget右键菜单及多进程编程
一个项目在开发过程中,通常面临着引入“第三方应用”,有些应用提供了源代码、动态库,这些是可以平滑的“嵌入”到项目代码中(比如框架里的xml处理等),但有些是固化的应用,比如后台命令行的ping等,在QT项目需要时,启动一个新进程执行命令并获取返回结果即可达到项目目的,框架里面特意提供了tools目录,目的就是用于存放“第三方”可用的工具。
2024-08-03 23:46:04
1544
原创 【QT常用技术讲解】事件处理(槽、事件过滤器)
所有的QT控件都继承自QObject,QObject提供了事件处理机制。在界面交互过程中,最常见的是按钮的鼠标单击事件、双击事件,而QT仅默认提供了鼠标单击事件,鼠标双击事件在默认列表中是不存在的,此时就需要通过事件处理(事件过滤器)来实现。
2024-07-21 23:47:26
423
原创 【QT入门到晋级】知识点编目及传送门
本篇文章需要是对后续发表的文章进行归类,及简要说明,本人自建的QT栏目,围绕【QT入门到晋级】进行编写,内容是以真实实施的QT项目进行技术拆解后进行的分享,涉及代码的,都会分享完整的代码。
2024-05-30 22:31:26
195
原创 上手结巴分词文本分析,输出热词、TF-IDF权重和词频
前言舆情分析、文本分析,在做特征提取时,需要把一整段内容合并后,提取内容中的热词、F-IDF权重和词频,本编以python编程,分享如何通过结巴分词简易上手。代码讲解先给代码片段配内容讲解,篇尾给完整的python代码。1、读取文本信息import pandas as pd# 1.导入数据语料的特征源数据 #df_data = pd.read_table('data.txt', names=[ 'type', 'content'], encoding='utf-8')
2021-11-02 16:28:26
2315
原创 在Win10下安装Anaconda3,“开始”菜单目录下只有Anconda prompt怎么办
有些机器(通常是台式机)安装win10后,在此win10环境下安装python3.7版本的Anaconda3,安装完成了,系统环境变量也配置好了,查看“开始”菜单中的Anaconda3目录,发现只有一个Anconda prompt! 并不是配置的问题,重启机器在重新装也是没有任何作用的! 可能是系统不兼容!可以考虑安装低版本的python3.5版本的Anaconda3,参考这篇博客:在Win10下安装Anaconda3,提示conda不是内部或者外部命令_...
2021-09-24 11:26:14
1031
原创 后台命令打jar包,并在groovy脚本中引用
目录结构本例的编辑根目录为test目录,在test目录下分别创建com和classes目录,并且在com目录下创建apptest目录,其中:com/apptest目录存储待编译的java文件,本例为mainfunc.java文件,代码如下:package com.apptest; //文件目录路径public class mainfunc { private mainfunc() { } public static void main(String[] ar.
2021-08-06 17:01:16
986
原创 python 字符串替换ASCII码中的特殊字符
背景知识1、python的字符串不能直接用索引的方式进行替换,比如stringA='asdfghj'stringA[2]='1'会提示语法错误2、python常规可以通过字符串拼接、或者replace替换的方式组成新的字符串,比如stringA='asdfghj'stringB=stringA[0:2]+'@'+stringA[4:6]或者stringB=stringA.replace('f','@')特殊字符替换网络爬虫爬取的内容通常都会遇到特殊字符的问题,..
2020-12-24 10:35:36
1589
2
原创 python读取摄像头,做人脸识别,并把视频推送到html页面显示
本文的重点内容为opencv+flask+face_recognition导读先上开源代码,https://github.com/Kr1s77/flask-video-streaming-recorder 作者通过opencv+flask完成了读取摄像头,并且在HTML页面显示的功能,很多场景都会用到,本文是分享二次开发人脸识别。环境正常登录源码的main.py中源码app.run(threaded=True, host="0.0.0.0"),默认了port=5000,端口是可以改变的,如.
2020-05-26 18:11:44
8012
19
国产统信UOS系统的libudev.so和libudev.h文件
2025-02-20
【QT常用技术讲解】使用QMovie+QLabel播放gif动态图片,实现“正在加载”功能
2024-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人