自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (6)
  • 收藏
  • 关注

原创 UTF-8、UTF-8-BOM、GB2312文件编码格式转换

【代码】UTF-8、UTF-8-BOM、GB2312文件编码格式转换。

2024-05-31 17:02:11 341

原创 c++ Windows获取软件安装列表信息

【代码】c++ Windows获取软件安装列表信息。

2024-03-07 11:11:06 805

原创 Qt C++春晚刘谦魔术约瑟夫环问题的模拟程序

约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。分析:(1)由于对于每个人只有死和活两种状态,因此可以用布尔型数组标记每个人的状态,可用true表示死,false表示活。(2)开始时每个人都是活的,所以数组初值全部赋为false。(3)模拟杀人过程,直到所有人都被杀死为止。

2024-02-19 13:21:52 3301 2

原创 Qt MaintenanceTool解决“要继续此操作,至少需要一个有效且已启用的储存库”问题

这时需要配置 https://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/打开MaintenanceTool选择 “添加或移除组件” 或 “更新组件时” 会提示 “要继续此操作,至少需要一个有效且已启用的储存库”QT的组件管理软件,需要通过QT安装目录下的MaintenanceTool。最后我们盼望的界面就出来了。配置完成,再点击下一步。

2024-01-27 21:47:53 2052

原创 Qt event事件发送

Qt 自定义事件很简单,同其它类库的使用很相似,都是要继承一个类进行扩展。在 Qt 中,你需要继承的类是 QEvent。继承QEvent类,你需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值。这里的QEvent::Type类型是QEvent里面定义的一个enum,因此,你是可以传递一个int的。重要的是,你的事件类型不能和已经存在的type值重复,否则会有不可预料的错误发生!因为系统会将你的事件当做系统事件进行派发和调用。

2023-12-06 20:00:01 488

原创 Qt窗口无标题栏拖动放大

【代码】Qt窗口无标题栏拖动放大。

2023-11-07 14:30:51 500

原创 windows qemu安装飞腾Aarch64 Loongarch64 操作系统 亲测

这里是 Kylin-Desktop-V10-Release-2107-arm64.iso。执行第4步安装镜像文件 后 可能没有网络,关闭后,执行第5步应该就有网了。在win7命令窗口中运行以下命令来创建镜像文件。

2023-10-27 15:50:35 3377 2

原创 Linux docker 安装 部署

此时如果所在系统有网,容器也可以在线安装相关包。在 /etc/profile 末尾添加。

2023-10-25 09:45:09 360

原创 基于QPlainTextEdit带标签行号的文本编辑器

CodeEditor.cpp 文件。CodeEditor.h 文件。

2023-10-15 19:58:19 926

原创 Qt基于paintEvent自定义CharView

鼠标拖动,缩放,区域缩放, 针对x轴,直接上代码charview.hpublic:public://鼠标左键拖动更新//鼠标右键选择更新//鼠标缩放更新private:protected://鼠标左键按住拖动移动, 右键区域放大//滚动鼠标滑轮放大缩小//双击恢复默认public://刻度线高度//带text的刻度线高度//刻度text高度//刻度text宽度//刻度text边距//刻度数量//刻度宽度。

2023-09-17 13:22:20 296

原创 共享内存 windows和linux

windows演示图。

2023-08-25 22:35:43 1128

原创 搞定二叉树

满足以下两个条件的树称之为二叉树:1、本质上为有序树;2、每个结点的度不能超过2,即结点的度仅能为0,1,2。左旋:指将根节点的右侧往左拉,原先的右子节点变成新的父节点,并把多余的左子节点出让,给已经降级的根节点当右子节点右旋:指将根节点的左侧往右拉,原先的左子节点变成新的父节点,并把多余的右子节点出让,给已经降级的根节点当左子节点。

2023-08-21 22:02:33 189

原创 Linux下Lua和C++交互

lua(wiki 中文 官方社区:lua-users)是一门开源、简明、可扩展且高效的弱类型解释型脚本语言。由于其实现遵循C标准,它几乎能在所有的平台(windows、linux、MacOS、Android、iOS、PlayStation、XBox、wii等)上运行。在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。

2023-07-15 12:51:07 1237 2

原创 Virt-Mnager 虚拟机桥接网络

以下针对linux 下 virt-manager 管理kvm虚拟机配置网络类型,默认为nat。nat网络模式,虚拟机之间可通信,虚拟机和主机可通信,不可与主机外的网络通信;桥接网络模式,虚拟机之间可通信,虚拟机和主机可通信,可与主机外的网络通信。

2023-06-13 11:19:54 7295 1

原创 Linux aarch64、loongarch64架构编译Python源码时遇到的问题configure: error: cannot guess build type

错误提示 以 aarch64架构为例。

2023-06-07 09:47:07 932

原创 Debia离线源下载制作和使用

安装xxx时执行 apt-get -d install xxx,安装完成后xxx及其依赖包就会下载保存在/var/cache/apt/archives里面。在有网络的情况下,安装时,只需执行 sudo apt-get install xxx,即可自动安装xxx及其xxx的依赖,很方便。1、首先 将下载好的deb包所在目录(/surce)添加本地源路径(/etc/apt/sources.list)进去。通过命令dpkg-repack(没有则需要安装)可将系统中已安装的deb包生成 xxx.deb包。

2023-05-06 11:50:02 1437

原创 Qt源码编译aarch、loongarch等架构可参考

我的建议是: 编译环境一定要有网络,依赖的包才可以方便安装!!!没有网或没有源 可能需要先配置:源路径: /etc/apt/source.list系统默认DNS配置: /etc/resolv.conf 修改 nameserver 114.144.144.144 //腾讯的ip地址解析tar -xvf qt-everywhere-src-5.15.2.tar.gzcd qt-everywhere-src-5.15.2mkdir qt-5.15.2-buildcd qt-5.15.2-build

2022-12-06 19:41:39 1627 4

原创 Qt串口通信 仅供参考

Qt中都有串口通信相关函数方法,下面只是记录方法未连实际串口验证过。当然网络串口工具也比较多,该版本这里只是简单了解下。

2022-10-29 16:27:01 467

原创 QDomDocument Xml配置文件读写

用Qt中QDomDocument读写Xml格式配置文件,使用时.pro文件中需加QT += xml。

2022-10-29 11:10:54 1519

原创 Qt Desiger常用控件示例

这里针对Qt Designger界面简单总结了一些示例。

2022-08-21 12:34:12 1155

原创 QTreeWidget Item懒加载

qt界面加载,数据较多时是比较慢的,treeWidget加载数据,跟tableWidget类似思路,先加载部分。直接分享示例代码.h文件.cpp文件

2022-07-07 22:08:55 1414

原创 QTableWidget懒加载剩内存,不卡!

用到表格加载数据,少量数据看不出什么异常,当数据过于庞大,特别是表格中可能还加入了一些界面实时刷新如进度条等,那最终体现出来的效果很差,加载卡,占内存。所以,下面总结分享的是一种懒加载的策略。主要有两个点:1、对于需要实时更新加载的情况,每次加载数据时,不要掉clearContents()、removeRow(int row)等去清空再new,而是去重复利用上次已经new出的Item,改变其内容为最新即可2、只加载界面可见范围内Item,数据的具体数量只需通过滚动条的值体现出来,每次改变滚动条时,再去按照

2022-07-02 21:24:52 1910 1

原创 QTreeWidget And QTableWidget

视图.h文件.cpp

2022-06-19 19:51:34 417 1

原创 Qt Vc 读取文本中文乱码问题

前言读取文本内容,有时候读取的内容中文会乱码,这跟编码格式有关,即读取时的编码格式和该文本的编码格式不一致。一般有utf-8和gbk两种编码不一致导致。解决办法有两种第一种main函数所在的地方修改#pragma execution_character_set("utf-8")#include "frmlightbutton.h"#include <QApplication>#include <QTextCodec>int main(int argc, char

2022-05-24 18:54:11 1237

原创 Qt 导出word

前言qt导出可以利用QAxObject去导出word或者excel等。QAxObject主要是调用QAxObject的 querySubObject、dynamicCall、setProperty等方法,其中方法的参数属性,可以通过word官网查询,具体属性怎么用,暂时也没找到有相应文档,有需要可以结合office官方文档属性和下面分享的或者网上找下资料的,依葫芦画瓢,找规律试一试。下面先分享导出word的一些常用属性。Test案例首先在.pro文件中需要加入:QT += axcontainer

2022-05-15 14:54:24 6650 6

原创 面向对象和设计模式

前言为了满足面向对象设计原则而产生了一系列设计模式,理解其原理,掌握一些设计模式,甚至以后可能设计出新的设计模式。面向对象设计原则1、单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。单一职责原则是实现高内聚、低耦合的指导方针,是最简单却最难运用的原则,需要设计人员发现类的不同职责并将其分离2、开闭原则定义:软件实体应当对扩展开放,对修改关闭。指软件实体应尽量在不修改原有代码的情况下进行扩展。3、里氏替换原则定义:所有引用基类的地方必须能透明地使用其

2022-03-28 10:48:14 249

原创 Qt鼠标样式效果

前言有些场景需要设置鼠标样式,来达到更合适的效果。使用 setCursor(Qt::OpenHandCursor);系统鼠标样式

2022-03-24 19:08:11 292

原创 Qt常用设计模式之单例模式

前言开发过程中,采用合适的设计模式,可事半功倍。并且方便维护更新。单例模式单例模式主要是确保一个类只有一个实例,自行实例化并向系统提供这个实例 。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。 单例模式分为 "懒汉"和"饿汉"俩种。单例模式-“懒汉”懒单例模式的特点就是延迟加载

2022-03-18 14:36:52 1316

原创 Qt treeWidget使用排序等

前言QTreeWidget树结构,然后,它是可以像tableWidget那样有多行多列,排序,设置图标等,这里只简单使用下,更多的再查一查就好,和tableWidget大多很类似,tableWidget也有个示列,有需要点这Qt tableWidget排序等示例关键代码.cpp中#include "treewidget.h"#include "ui_treewidget.h"#include <QTreeWidget>#include <QTreeWidgetItem&g

2022-03-06 11:47:38 1955

原创 Qt tableWidget排序等

前言tableWidget用于数据显示,继承tableView,想要了解更多关于tableWidget及、tableView。点击qtableview和qtablewidget区别例子这里以一个LPL春季赛战队排名数据为例,只搞了前10,可以点击表头排序关键代码maindialog.cpp#include "mainwindow.h"#include "ui_mainwindow.h"#include <QTableWidget>#include <QHeaderVi

2022-03-05 12:05:10 2334

原创 C++ STL容器使用

list 用法整理list 实现list 容器是由双向链表实现的,因此不能使用下标运算符 [] 访问其中的元素。使用 list 的时候得加上 #include 头文件以及得在 std 名字空间中使用。list 定义和初始化只需要简单的 list my_list; 就可以完成对一个 list 的定义了。不需要 new。初始化的话就要用到 list 的构造函数。 int a[] = {1,2,3,4}; list<int> mylist (a, a+4);list访问

2022-02-24 18:05:02 723

原创 GitHub常见开源协议

前言了解开源协议,合理使用轮子,避免法律风险。本次总结6种常用的开源协议。先借助下图理解下一、BSD(Berkeley Software Distribution license)BSD源自加州大学伯克利分校,是自由软件中使用最广泛的许可协议之一,其给于使用者很大自由的协议。使用者可以自由的使用、修改源代码,也可以将修改后的代码开源或闭源,甚至作为商业软件再发布。前提是发布的源代码、二进制可执行文件相关文档中需包含BSD许可协议声明,并且不能使用开源机构名字做产品的市场推广使用BSD前

2022-02-24 14:46:22 2316

原创 Qt 动态库和静态库的创建与使用

前言c/c++开发中都会用到动态库和静态库。首先动态库和静态库的区别是什么呢?简单来讲,静态库,如果某个程序需要调用了一个静态库中的方法,在该程序编译时候会将该静态库一起编译进去,即会直接整合到目标程序中,编译成功的可执行文件可独立运行。静态库的扩展名一般为“.a”或“.lib”而动态库,某个程序在编译的时候,在程序里只有一个“指向”的位置而已,也就是说当可执行文件需要使用到函数库的机制时,程序才会去读取函数库来使用,也就是说可执行文件无法单独运行。静态库与动态库优缺点大概如下1、静态库优点:

2022-02-17 17:53:25 10977 2

原创 Qt QLineEdit

前言QLineEdit单行文本编辑器,一般当输入控件使用,总结一下。设置输入提示void setPlaceholderText(const QString &);设置最大长度void setMaxLength(int);setInputMask限制输入格式限制输入格式void setInputMask(const QString &inputMask);例子IP地址限定ui->lineEdit->setInputMask(“000.000.000.000;

2022-02-12 13:28:00 1460

原创 Qt QPushButton

前言QPushButton按钮,很常用,总结一下。按钮置灰,不可点击ui->pushButton->setEnabled(false); 快捷键设置ui->pushButton->setShortcut(QKeySequence(QLatin1String(“Alt+Shift+A”)));按钮透明ui->pushButton->setFlat(true);default与autoDefault这俩个属性只在QDialog下有效,当在界面按下回车键的时

2022-02-12 11:03:21 2594

原创 C++你最好记住的知识点

前言c++基本的使用都比较容易熟悉,但是,不常用或者说只有在实际某些项目中才会用到的就会显得比较陌生,这里把不常用的一些总结一下。包括概念,语法函数等。C++是不是类型安全的?不是。两个不同类型的指针之间可以强制转换(用reinterpret cast)。C#是类型安全的。main 函数执行以前,还会执行什么代码?全局对象的构造函数会在main 函数之前执行。描述内存分配方式以及它们的区别?1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局

2022-02-11 14:39:26 771

原创 Qt QSqlite数据库

前言qt自带的QSqlite数据库。主要掌握增删改查常用命令1、首先.pro文件中需加入 QT += sql然后头文件 #include <QSqlError>#include <QSqlDatabase>#include <QSqlQuery>2、连接数据库QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setHostName("127.0.0");db.set

2022-01-21 18:05:05 6830 2

原创 Qt Tcp多线程文件传输

前言这里分享tcp文件传输中多线程传输,支持多发多收,然后,判断接收或发送失败是否。Tcp介绍及常用实现效果这里是和虚拟机做的测试。源码具体怎么弄的,有兴趣的看代码,gitee 地址 :https://gitee.com/kchmmd/qtcp-file-receivegitee使用中国人不骗中国人,只有一个要求,看完有需要完善的地方记得留言...

2022-01-07 16:17:51 3377

原创 Qt TCP服务端和客户端连接

前言传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。如需了解UDP与TCP对比,可点击了解UDP和TCP对比。下面简单介绍下T

2021-12-28 09:43:34 3522

原创 Qt UDP单播、组播、广播简单了解

前言Internet 协议集支持一个无连接的传输协议,该协议称为用户数据包协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事UDP 是User Datagram Protocol的简称, 中文名是用户

2021-12-27 18:12:41 2031

tap-windows

tap-windows

2023-11-02

tableview点击排序

tableview点击排序

2022-03-05

Tcp多线程消息与文件

Tcp多线程消息与文件

2022-01-26

loading.tar.gz

qt-自定义加载动画

2021-08-09

mywidget.tar.gz

qt-自定义提示窗口包含标自定义题栏按钮样式进度条自定义加载动画等

2021-08-09

qdbus.tar.gz

qt-qDBus简单使用实例

2021-08-09

mybutton.tar.gz

qt自定义按钮样式效果代码实例

2021-08-09

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

TA关注的人

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