自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(281)
  • 资源 (8)
  • 收藏
  • 关注

原创 Qt6之QScopedPointer——智能指针

以下使用一个简单的QTime对象来演示各种内存管理方式:2、手动管理 如下,构函数中创建,析构函数中delete,在简单场景下并没有错;4、使用智能指针管理场景4.1 为什么没*号,它还是指针吗?到底对象是哪个?4.2 访问和管理成员对象时应该用箭头运算符“->”还是“*”?Qt官方示例中演示了复杂场景delete和QScopedPointer的对比,如下图:

2024-04-19 15:12:00 135

原创 麒麟V10 sp3 2303桌面版操作系统防火墙加入白名单

实际上测试后发现依然无效,原因是iptables-restore未生效,查询debian相关内容后得出根本原因是:系统的网络管理转向了networkmanager作为网络服务导致,而这个是network服务的配置,目前放在/etc/NetworkManager/dispatcher.d/pre-up.d/里。此时,应用程序已经能通过防火墙并正常使用了,但是按照iptables 规范重启后防火墙规则自动失效。从安全中心,网络保护,高级配置,新建规则,建议只定义端口和协议,其它保持不动即可;

2024-03-19 10:56:54 499

原创 中科方德4.0清空旧磁盘分区图文教程

方德新版本会默认“将home目录设置为最大分区,根目录为最小分区”导致后续项目无法使用,因此新版本必须选择“自定义”;

2024-03-07 10:47:06 410

原创 银河麒麟v10——植物大战僵尸原版——2023教程

银河麒麟v10 植物大战僵尸 注意:最后一步,需要先解压tar包,再切到PlantsVsZombies.exe所在目录下,再执行启动命令;

2023-11-30 15:31:34 556

原创 cryptopp Base64Encoder \n问题

调用库函数Base64Encoder进行base64加密后确认多出来了\n。的问题, 由于base64一行不能超过76字符, 超过就会添加回车。(在Windows中是 \r\n , 在Linux中是 \n )方法一、给定参数使其不要加入换行符。方法二、剔除\r和\n。

2023-11-14 10:05:58 321

原创 chromium arm64 新版

chrome官方并没有对外公布arm64的正式版本但debian已经适配,以下链接提取自debian可直接一条命令安装:即可。

2023-10-19 15:26:16 1032 1

原创 ubuntu 22.04.3 live server图文安装流程

13、是否升级到专业版pro,也就是付费服务,默认是跳过,点继续即可;备注:以下操作全用键盘,tab切换,enter确认,方向键移动;15、snap格式的预装软件,可依据实际情况勾选,一般不需要;8、配置源,简单说:就是下载更新源,一般输入国内阿里源地址;9、这里默认就是自动分区并且启用lvm,保持默认即可;14、这里要在这一行,回车让x选中,否则没有ssh;16、左上角提示安装完成,就可以点最下方的,重启了;7、如果需要配置代理请在这里配置,一般略过;2、选择语言,这里只能选择英语,无中文;

2023-10-12 10:12:50 3253 2

原创 Ubuntu22.04 vnc远程黑屏

原因是Ubuntu22.04使用的gnome启用了Wayland。vnc、teamviewer、向日葵、todesk等均无法使用或者远程黑屏等。简单的说vnc、teamviewer、向日葵、todesk等均基于xorg实现(xorg太流行),并不兼容Wayland,所以vnc无法正常使用。realvnc官方也明确说明,目前在Linux上无法支持 Wayland。是一套桌面环境,包括一系列应用程序。比如显示管理器,窗口管理器,firefox浏览器等都是XClient。

2023-09-19 18:01:54 4589

原创 Qt6.5安装教程——国内源

Qt6.5安装教程 国内源 开始非商业授权下,不再提供离线安装方式的exe,但源码安装费时费力,所以推荐安装方式已经为在线组件安装方式,包括vs2022、Qt在线安装工具已经成为开发工具新的安装趋势。NO。KDE 社区和 Qt 公司之间曾经达成过一项协议,其中规定:如果 Qt 公司在开源许可证有效的情况下停止开发自由软件版本的 Qt(Qt Free Edition),那么基金会有权以 BSD 许可证或其他开源许可证发布 Qt。当然这项协议最早为了防止qt公司倒闭,KDE可以继续延续不至于夭折。

2023-08-30 17:52:28 2725 3

原创 Qt6之布局及技巧

Qt布局技巧

2023-08-29 11:22:18 316

原创 Qt5升级到Qt6分步迁移教程

在我们的例子中,将应用程序移植到Qt 5的最新版本,然后切换到Qt 6要容易得多。它提供了Qt 6中消失的一些类,例如QRegExp和QStringRef,但由于这一点,它仍然可以在Qt 6应用程序中使用。它在Qt 6中不再可用,但是如果您的应用程序使用了很多效果,则很难在没有任何回归的情况下轻松迁移。Qt 6需要C++17或更高版本的编译器(例如,对于Windows – MinGW 8.1.0或msvc 2019),因此如果您使用的是旧版本,则是时候升级了。因此,如您所见,您的操作取决于需要替换的模块。

2023-08-24 17:37:46 1865

原创 Qt6和Rust结合构建桌面应用

它为Qt代码和Rust之间的桥接提供了一种安全的机制。这提供了更强大的代码,安全的API,以及两个代码之间的安全多线程。Rust被广泛认为是可靠的、高性能的、多产的和通用的。Rust是一门相对较新的语言。Rust 是一种低级静态类型多范式编程语言,专注于安全性和性能,解决了 C/C++ 长期以来一直在努力解决的问题,例如内存错误和构建并发程序。为了演示如何使用Qt和Rust,我们将构建一个简单的“Hello World”应用程序。桌面应用程序是原生的、快速的、安全的,并提供Web应用程序无法比拟的体验。

2023-08-24 16:59:12 6507

原创 Qt6之设置页面切换QTabWidget——仿ToDesk(4)

QTabWidgetQt中的选项卡小部件QTabWidget,完全可以轻而易举的实现多页面切换,主要意义是:能够在同一个窗口中自由切换不同页面的内容;是一个容器类型的组件,同时提供友好的页面切换方式;

2023-08-24 15:39:50 774 1

原创 Qt6之带三角形的提示框——仿ToDesk(3)

声明:本文仅用于用qt学习todesk界面设计;

2023-08-21 17:38:21 374

原创 中科方德4.0服务器 默认自动分区,扩容根分区方法

图形化移除旧home分区,扩展根分区,并同步分区;

2023-08-17 15:40:41 342

原创 Qt creator之对齐参考线——新增可视化缩进功能

Qt creator之对齐参考线 Qt creator随着官方越来越重视,更新频率也在不断加快,今天无意中发现qt creator新版有了对齐参考线,也称可视化缩进。如下图,浅灰色竖线,就是对齐参考线,也叫可视化缩进。

2023-08-15 14:12:59 907 1

原创 Qt6之QStackedWidget——Qt仿ToDesk(2)

QStackedWidget也叫堆栈窗体类,它继承于QFrame,主要与QListWidget等结合使用,实现“一个界面多个页面切换”。

2023-08-09 10:03:33 783 2

原创 Qt6之QListWidget——Qt仿ToDesk侧边栏(1)

QListWidget也称列表框类,它提供了一个类似于提供的列表视图,但是它具有一个用于添加和删除项的经典的基于项的接口。在实际应用中,多与堆栈窗体类配合使用。它是Qt这些常用基础组件里,我认为最被低估的类,其实QListWidget反到灵活、简单、实用,包括我自己在侧栏或者上栏,也经常使用了QFrame+QPushButton或者QToolButton组合拼接起来自己“造轮子”,如下图卡巴和微信的侧栏列表框样式以及。

2023-08-08 10:10:19 1879

原创 银河麒麟v10 vnc环境配置

此时即可用Realvnc Viewer访问该终端,仔细查看后自带的远程桌面是开源组件gnome-remote-desktop。该组件已经能满足大部分用户使用了,但据测试在2303版上长时间开机后似乎有性能问题,远程延迟变大,重启电脑或者关闭远程功能再打开又正常使用;6、直接输入ip即可远程访问,重启也能正常访问无需配置;4、配置服务,将以下内容复制到第3步新建的服务文件中;常见的就是以上5种,经测试银河麒麟支持前3种。5、加载、自启动并启用服务;方法一、启用自带远程桌面。1、安装x11vnc。

2023-08-04 16:36:24 4501

原创 银河麒麟V10 qt5报错“The code model could not parse an included file,which might lead to incorrect code ”

临时解决方案:帮助 -> 关于插件 -> C++ -> ClangCodeModel 的选框取消勾选,然后重启 Qt creator,但意味着放弃ClangCodeModel相关格式化、补全等功能。原因:这是qt creator 5.4.2本身bug,qt creator4.7.0彻底修复。以上简单两步安装完成后,新建项目已经可以编译过,但ClangCodeModel会报错如下图。3、ClangCodeModel取消勾选,重启qt creator。2、在线安装qt creator。1、在线安装qt组件。

2023-08-02 16:16:56 1136

原创 Qt6之模型和视图

MVC是Model-View-Controller,即(Model)、(View)、:用于管理数据;:就是呈现在用户面前的界面外观,视图负责把模型中的数据显示给用户;:用于处理用户在用户界面的输入;MVC本质上目的是数据处理和显示分离,以提高灵活性和重用性。

2023-07-26 16:14:48 255

原创 QT6之QtWidgets和QWidget

QtWidgets和QWidget

2023-07-18 15:47:52 863

原创 Qt6之通用文件格式.dat

DAT 文件格式只是一种通用格式,它在文件中包含任何类型的数据,它可能包含二进制或文本格式的数据,通常以 .dat 扩展名保存。通常不能说某个特定的软件或程序负责创建 DAT 文件,这些文件仅由创建它们的应用程序特别访问。备注:通常都是二进制,优势是体积小,不被轻易修改,各个语言都能通用;

2023-07-13 15:52:04 1494

原创 Qt6之QSetting读取为空或失败

QSetting终极目的是,模糊平台,一套方法可以同时写入或者读取配置文件及注册表。

2023-07-12 16:32:55 1094

原创 windows installer无法访问,可能你是在安全模式下运行windows,或者没有正确安装

单击“开始”,单击“运行”,键入 MSIEXEC /UNREGISTER,然后单击“确定”。单击“开始”,单击“运行”,键入 MSIEXEC /REGSERVER,然后单击“确定”。1、检查windows installer服务是否启动,因为手动启动类型;再次尝试安装基于 Windows Installer 的应用程序。2、重新注册 Windows Installer;

2023-07-05 11:11:53 4125

原创 Qt6之QMetaObject::invokeMethod同步和异步转换

在Qt开发场景下,当线程内有耗时或者复杂操作时,最直观的感受是GUI卡死,原因是qt是基于的就好比红绿灯,正常情况下,一直正常循环红灯、黄灯、绿地又红灯,往复循环,车流也控制的井然有序。可是突然斑马线有成白上千个小朋友排成队往过走,它就是耗时或复杂的操作,此时红绿灯可能已经循环了好几次但车确一直通过不了,造成后面整条路水泄不通。

2023-07-03 15:12:19 868

原创 centos磁盘扩容

因为前面使用工具已经给物理卷sda2扩容,即已经给他所在的centos卷组扩容了(假设xGB容量),所以直接将空余容量分配给逻辑分区。列出磁盘信息,可以得知容量信息以及即将创建的PV路径(通常为“/dev/sda累加数字”)这时再输入sudo fdisk -l命令,可以看到新的分区比如/dev/sda3出现了。2.进行分区扩容,把挂载点为centos的物理分区sda2扩大(图形化操作不在赘述)重启linux,必须reboot,否则无法格式化。2.交互操作,建立新分区PV。将空余容量分配给逻辑分区。

2023-06-29 11:48:37 974

原创 关于Realvnc远程Aero效果异常解决方案

默认安装realvnc server后,远程时如下图所示,windows areo效果丢失且提示“配色方案已经更改为windows 7 basic”;解决方案:取消勾选,user mirror drive to capture screen。

2023-06-28 15:10:09 352

原创 vs2022最近列表不显示问题解决方案

vs任务栏图标,鼠标右键正常情况下如下图,有一堆最近打开过的项目列表,方便切换。3、全部清除,关闭vs,再打开项目就好了。1、确保这个按钮必须打开;

2023-06-26 12:00:16 1060

原创 QT6之多线程控制——互斥量和信号量

在程序中,通常竞争使用但如果不加限制就很可能出现异常或未达到预期的结果。一次仅允许被一个线程使用,它可以是一块内存、一个数据结构、一个文件或者任何其他具有排他性使用的东西。这些必须互斥执行的代码段称为“(代码段)实施对临界资源的操作,为了阻止问题的产生,一次只能有一个线程进入临界区。

2023-06-25 16:49:30 781

原创 Qt6之样式表2

一般情况下组件最终都会产生父子、子孙等关系,此时样式选择器类型非常重要,它决定着你的类型是否互相直接独立、互相影响和便捷高效的快速设置样式。1、如下图常见的一个工具栏,切换时鼠标划过是灰色,选中后是蓝色;2、按照逻辑来说,这里应该有样式设置,但其实如下图是空白的?3、原因就是,我在它的父组件,也就是下图红色箭头所示的QWidget处设置了样式,这样就是用来选择器即在这QWidget里所有QToolButton无论对象名称是什么,都按以下样式执行,这样既能快速的设置样式,又便于维护和理解。

2023-06-14 11:06:59 524

原创 Qt6之样式表

它用于绘制由 background-origin 指定在盒模式 中四个区域的图片开始显示的起点位置。背景图片在盒模式域内的对齐和平铺方式可以通过 background-position 和 background-repeat 属性指定。如果指定的背景图片具有 alpha 通道(透明效果),通过 background-color 指定的颜色将 会透过透明区域。

2023-06-08 18:11:15 698

原创 Qt6之vc调用qt生成的带ui的dll

受益于跨平台的特性,Qt生成dll的各种语言调用上体现的淋漓尽致,上篇已经演示了qt生成的无ui的dll及vc如何调用它,本篇将演示vc如何调用qt生成的带ui的dll。传统观点认为Qt生成的带ui的dll受限于 QApplication 的 exec 方法,这样才能产生消息循环于是只能采用QTWinmigrate中重写DllMain函数,但是仔细看该方案太繁琐和冗余了,于是受上篇启发,进行了以下尝试,果然可以。

2023-06-07 17:29:58 1400

原创 Qt6之vc调用Qt生成无ui的dll

Qt可以调用vc生成的dll,反之qt也可以提供生成的dll给其它语言来调用,比如VC、rust等。

2023-06-07 11:20:00 773

原创 Qt6之调用Windows下vc生成的动态链接库dll

无论采用哪种方法编译,最终都会生成dll文件和lib文件 (导入库文件)。

2023-06-05 17:34:18 4342 3

原创 Qt6之默认取消MySQL支持?

说明:本篇不是讨论qt怎么使用MySQL,这类的文章一搜一大堆。一、结论首先不是qt增加使用门槛是风向变了,而是自从Oracle 收购MySQL后对其进行了商业化,如今的MySQL已经不能算是一个完全开源的数据库了,而Qt官方则一直严格秉持着开源理念,故 Qt6 取消了对 MSOL 数据库的默认支持。

2023-05-24 09:59:22 743 2

原创 QT6之QTimeZone

QTimeZone 标识时间表示与 UTC 的关系,也可以表示 UTC、本地时间和与 UTC 的固定偏移量。QTimeZone(自 Qt 6.5 起)统一了它们与一般时间系统的表示,大多数操作系统普遍支持的一个时区被指定为本地时间。总结:简单来说QTimeZone就是qt专门用来解决系统时区和时区偏移问题的类。二、时间分类UTC(Coodinated Universal Time),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。

2023-05-23 16:34:45 1905

原创 Qt6之万能数据类型QVariant详解

QVariant,被称为万能数据类型,实际上它是类似C++的联合union类型。简单的说自定义性能强就像一个盒子几乎可以让你放任意的qt类型,同时可以轻松构造任意类型的任意复杂数据结构,但请注意复杂类型意味着性能和效率的让步。由于C++禁止联合union包含具有非默认构造函数或析构函数的类型,这会导致好多继承的类qt类不能在联合中使用。如果没有 QVariant,这对()和数据库工作等来说将是一个问题,故引入该类型。

2023-05-17 13:54:53 1805

原创 Qt6之字符串类内存分配新变化——16的次方增加

qt提供了比标准c++ string更强大,更丰富,更实用的字符串类QString,它的主要功能22个已经在之前逐一分析过,感兴趣的可前往以下链接查看,本文主要重点分析下qt在字符串类上面做的优化,主要是两个方面,和。

2023-05-16 16:12:58 514

原创 qt6之gcc -v/jdk -v版本信息获取

此时我才恍然大悟想起了,shell中每个程序在运行后,都会至少打开三个文件描述符,分别是0:标准输入;2:标准错误 ,不仅有标准输出还可能是标准错误输出啊,此时我回头再去改以上传参,果然彻底解决了此问题。起因是我想通过函数拿到gcc -v的返回值,如上图所示,你可能觉得在shell中,不过一个命令的事么,但是在代码中就废了很多周折。4、此时我们试试gcc -v吧,诶,翻车了,虽然有打印输出,但str做为返回值就是拿不到,这是为什么。1、为了拿到命令行的返回值,我就有了以下函数:;

2023-05-15 14:59:46 314 1

QT6之多线程控制-互斥量和信号量

QT6之多线程控制-互斥量和信号量

2023-06-25

Qt 5开发及实例(第4版)[陆文周][课件和代码]

Qt是软件开发领域中非常著名的C 可视化开发平台,能够为应用程序开发者提供建立艺术级图形用户界面所需的所有功能。它是完全面向对象的,很容易扩展,并且可应用于组件编程。相对于Visual C ,Qt更易于学习和开发。 2014年,我们编写了《Qt 5开发及实例》,受到市场的广泛欢迎。2015年,《Qt 5开发及实例》(第2版)推出,它以Qt 5.4为平台,增加了关于QML及Qt Quick开发的内容,继续受到市场的广泛推崇。2017年,以Qt 5.8为基础,推出《Qt 5开发及实例》(第3版),市场持续热销。本书以Qt 5.11为平台,2019年03月新版。

2019-04-29

C++ 获取硬盘序列号 mac地址

底层函数获取windows磁盘序列号 mac地址。 硬盘序列号,英文名:Hard Disk Serial Number,该号是硬盘厂家为区别产品而设置的,是唯一的。网上搜索一下,发现获取硬盘序列号的代码遍地都是,但很多是错误的。典型代表就是使用GetVolumeInformation函数获取序列号。这种方法获取的是卷的序列号,即Volume Serial Number。硬盘格式化后,这种序列号将发生变化。本文描述的是获取硬盘唯一的物理序列号的方法。

2018-12-18

基于Qt5.11硬件信息获取

qt5的硬件信息获取,在qt5.11下,直接打开项目,然后构建,再运行即可

2018-11-09

ubuntu h264 通过rtp发送 vlc播放

ubuntu h264 通过 rtp 发送 vlc播放,ubuntu 下直接可以使用

2017-12-26

VisualSVN Server 3.6.4 用户自助修改密码最终版

本补丁利用PHP方式实现密码修改,它适用于VisualSVN v3.6.x 64bit版本(实测3.6.4),在Win7 64bit和Windows server 2012/2008/2016系统中测试通过。使用方法,先点stop,再退出,然后文件内全部文件复制到安装目录覆盖即可。你唯一需要修改的是,htdocs文件里的pwd.php文件第3行和第4行,根据你安装路径和库文件路径修改,有疑问请Q969992379

2017-11-02

基于QT5.7的局域网聊天修改版

记住qt不识别中文路径,此版本,下载即可运行。不用任何修改

2017-02-21

基于QT5.7的局域网聊天

基于QT5.7的局域网聊天

2017-02-20

空空如也

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

TA关注的人

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