- 博客(42)
- 资源 (31)
- 收藏
- 关注
原创 Failed to open connection to “unix:path=/run/user/1000/systemd-session-1/bus“ vnc报错黑屏解决。
好的,我现在遇到了在银河麒麟V10系统上部署VNC Server的问题,当用另一台电脑的VNC Viewer连接时,系统日志报错说无法连接到指定的Unix套接字路径。在银河麒麟V10系统部署VNC Server时出现无法连接到指定Unix套接字的错误,通常与用户级DBus服务未正确启动或环境变量配置有关。echo $DBUS_SESSION_BUS_ADDRESS # 应显示 unix:path=/run/user/1000/bus。在VNC环境中,用户级服务可能未自动启动。#确认套接字文件是否存在。
2025-02-19 13:56:47
306
原创 在qtcreator中添加片段,提高开发效率。
将该文件替换 /Qt5.12.10/Tools/QtCreator/share/qtcreator/snippets/ 下的 text.xml即可。如果是应用商店安装的QTCREATOR,那么就替换 /usr/share/qtcreator/snippets/ 下的text.xml。文件名:text.xml。
2025-02-08 17:11:03
133
原创 参数 const 类名 & 见解
const 类名 & 在参数中,既可以传入左值又可以传入右值,属于万能引用。所以,如果你在自己的类中,不定义移动构造函数和移动赋值操作符,只定义了复制构造函数和赋值操作符,那么,你将参数写为const 类名 &,那么可以默认接受右值参数。因为const 类名 & 具备临时变量绑定特性导致的。
2025-01-18 11:56:17
220
原创 关于复制构造函数与赋值操作符,以及临时对象绑定
另外,值得注意的是,从C++11开始,编译器可能会优化掉不必要的临时对象和复制操作,这被称为复制省略(copy elision)或返回值优化(RVO)。在这个例子中,std::make_pair(1, 2.5)创建了一个std::pair<int, double>的临时对象,并将其绑定到变量p上。尽管在某些情况下,复制初始化和赋值可能看起来有相似的效果(比如都是将一个对象的状态复制到另一个对象),但它们发生的上下文和时机是不同的。考虑一个函数返回一个类的实例,这个函数可能会创建一个临时对象并返回它。
2025-01-16 15:52:58
696
原创 qt反射之类反射、方法反射、字段反射
/构造函数必须用Q_INVOKABLE 进行修饰,不然该类无法做到反射。//QT6.5.3下可用,在qt5.12.10下不可用。//元对象系统必须添加 Q_OBJECT 引入元对象。2、这个类必须写上Q_OBJECT宏定义。反射类源文件:fstudent.cpp。管理反射类源文件:manage.cpp。//以下在qt5.12.10下不可用。反射类头文件:fstudent.h。管理反射类头文件:manage.h。3、需要将类注册到元对象系统中。//通过反射属性来打印信息。//通过反射方法来打印信息。
2024-08-17 11:20:46
588
原创 openkylin 应用商店不可用的解决方法
看起来你在使用基于 Debian 的 Linux 发行版(如 Ubuntu 或 OpenKylin)时遇到了问题,并在尝试更新软件包列表的过程中遇到了错误。这个错误通常是因为 APT(Advanced Package Tool)无法正确解析来自特定服务器的签名文件。请按照上述步骤操作,如果还有问题,请提供更多的信息以便于进一步的帮助。
2024-08-17 10:11:01
636
原创 解决银河麒麟v10 无法进入桌面的方法
准备一个优盘,格式化为ntfs格式,然后将.iso镜像安装包用软碟通写入优盘,制作成启动盘。提示 chroot /mnt/sysimage 切换到系统的真实目录。选择"Troubleshooting" 选项,这样就可以更改系统文件了。
2024-07-05 11:31:28
3100
原创 银河麒麟V10 安装tigervncserver
提示,本安装环境:arm飞腾2000,主机开机进入root用户模式。1、安装server安装包#rpm -i2、控制台输入 vncserver :1 命令,然后根据提示输入远程登录密码。3、在 /usr/lib/systemd/system/ 下创建 vncserver@:1.service 文件,内容如下:[Unit][Service]User=rootGroup=root[Install]编辑完后,保存退出。
2024-07-05 11:13:31
1924
3
原创 解决qtcreator在远程桌面下,无法用root权限打开的问题。
然而,强烈建议不要经常或长期这样做,因为这会破坏X Window系统的安全隔离机制。如果是因为调试过程中需要访问某些只有root权限才能操作的资源,可以考虑在代码中加入适当的权限提升手段,或者在部署、运行阶段使用sudo,而非在开发阶段全程以root身份运行IDE。对于“qt.qpa.xcb: could not connect to display :0.0”这个错误,即使你以root权限运行,也是由于X Window系统安全策略限制root用户直接连接到非root用户的X服务器所致。
2024-04-18 17:59:36
560
1
原创 openkylin系统通过网线连接ubuntukylin系统上网攻略
主机2:x64 intel ,系统:openkylin 1.0.2,状态:通过网线与ubuntukylin连接,并通过ubuntukylin的wifi共享网络进行上网。主机1:x64 amd ,系统:ubuntukylin 22.04 ,状态:通过wifi连接热点进行上网,并共享网络。问题1、主机1连接wifi后,与无法上网。
2024-04-13 12:32:00
538
原创 ZLToolKit组播发送接收数据时,win与linux下初始化区别及实例
/这里特别注意,win下一定要绑定本地IP地址192.168.172.11,不然多个网卡的系统会无法发送数据,linux下可以不绑定本地ip也可以成功发送数据;由于是只作为发送方,可以将绑定端口号设置为组播端口号以外的值,组播端口为8002。//这个地址ip为组播地址如:239.0.0.2,port为组播端口号:8002。这样就完成了ZLToolkit的初始化操作,下面就可以进行发送数据了。这样就完成了ZLToolkit的初始化操作,下面就可以正常接收数据了。完整示例代码只有一个类UdpClient。
2023-12-11 17:14:29
540
原创 qt下利用libpcap进行包分析解析示例
该示例可以在win10_x86、麒麟V10_arm_华为擎云9000L、麒麟V10_x86、麒麟V4_arm_飞腾2000上运行。可以根据过滤器,抓取过滤arp、udp、tcp、icmp数据包。由于系统限制,包最大每次抓包最大长度为1518字节,建议自定义的基于udp的通信协议包不要超过1450字节,这样的话,通过udp传输数据,就不会分片,可以用libpcap直接抓包,不用后期组包处理数据。libpcap个人认为主要用于udp高密度数据传输,可以做到零丢包。源码连接
2023-12-11 15:20:39
1038
原创 Qt 反射机制实现,通过类名创建对象
反射是指程序在运行时动态获取对象属性与方法的一种机制,即编译器需要将类型信息(属性类型与偏移地址以及成员函数的地址等信息)编译到程序文件中,当程序运行时将这些信息加载到内存中去,做到运行时只根据对象的地址或引用就可以获取到对象的类型信息,从而利用这些信息达到修改或重建对象的目标。再简单一点说,就是可以通过类名称来创建一个类对象,这在Java和Object-C中是原生支持的,所以实现起来非常简单,但是C++就不支持了,如果想要用到反射机制,那就得自己实现。下面两个类是继承于baseclass。
2023-12-01 16:45:53
587
原创 移动构造函数、移动赋值构造函数、右值引用、构造函数、复制构造函数、拷贝赋值构造函数举例
移动构造函数、移动赋值构造函数、右值引用、构造函数、复制构造函数、拷贝赋值构造函数举例。
2023-11-21 15:48:23
61
原创 银河麒麟下,QT5.12.10、linuxdeployqt安装及DEB打包教程
control:这个文件主要描述软件包的名称(Package),版本(Version),Installed-Size(大小),Maintainer(打包人和联系方式)以及描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引。LittleEWarehouseSecond-deb是dpkg -b 命令的打包文件夹,制作完成后安装时,当前目录下除了DEBIAN目录,其他目录都会被默认安装到系统的“/”目录下。在Deb包文件解包之前(即软件安装前),将会运行该脚本。
2023-11-13 15:47:14
8115
5
原创 银河麒麟WIFI与有线网络同时问题解决方法
我们经常会遇到一个问题:工控机同时连接了多个有线网口以及用无线网卡连接了因特网,但是打开浏览器时无法连接到因特网或者是使用apt工具下载安装功能包时无法连接到因特网。将auto_run_script.service复制到 /etc/systemd/system/ 下。赋予/opt/auto_run_script.sh 可执行权限。这样就可以同时上网了。
2023-11-13 15:00:10
1635
3
原创 vnc+ssh服务在优麒麟下安装配置
SSH (Secure Shell) 是一种网络协议,可实现两个设备之间的安全通信,通常用于访问远程服务器以及传输文件或执行命令。SSH 访问用于各种任务,包括远程登录服务器、传输文件和运行命令。一些流行的 SSH 客户端包括 PuTTY (Windows)、Terminal (Mac) 和 Linux Shell。本人用的是MobaXterm去ssh连Ubuntu的,个人推荐,简单好用。sudo apt-get updatesudo apt-get install openssh-serversudo
2023-11-07 23:02:43
199
原创 【无标题】
状态机用于模拟对象,用例甚至整个系统的行为,尤其是反应系统,它们必须响应来自系统外部的参与者的信号。换句话说,当一个状态机创建它所附着的对象,该对象成为状态机的所有者时,例如,状态机附加的对象可以是类,用例甚至整个系统。除了与导致终止状态的转换相关联的操作之外,状态机不执行任何状态的退出,也不执行任何退出操作。转换是两个状态之间的关系,指示处于第一状态的对象将执行某些动作并且当指定事件发生并且满足指定条件时进入第二状态。例如,家中的加热器可能处于以下四种状态中的任何一种:空闲,冷却,加热,启动和活动。
2023-09-12 11:29:41
97
原创 以下是一个基于等待动作的状态机编程模式的状态命名C代码实例:
在此状态机中,状态名称清晰明了,易于理解。等待动作的状态机编程模式可使代码更易于维护和扩展,并且使代码更易于阅读和理解。// 处理输入并发送请求。// 定义事件处理函数。// 定义状态机状态。// 定义状态机变量。// 定义状态机循环。
2023-03-27 23:08:44
109
原创 基于等待动作的状态机编程模式的状态命名示例
在这个示例中,我们定义了不同的状态,并在每个状态中执行需要的操作。每个状态都有一个相关联的动作,例如等待卡插入、等待 PIN 码输入、等待金额输入等等。根据输入的不同情况,我们将程序的当前状态移动到下一个状态。如果出现错误,我们将程序状态设置为 ERROR 状态,并返回到 START 状态以重新开始程序。
2023-03-27 22:57:23
203
原创 qt状态机机制用法
这是通过使用状态转换时发出的信号完成的。例如,下面的代码通过为s12添加一个新的过渡,导致当状态机处于s12状态是,退出按钮的点击被忽略。还有,一个过渡可以选择任何状态作为其目标状态,也就是说,一个过渡的目标状态不需要和他的源状态在状态图上处于同一个层次。但是,如果我们为s1到s2的转换添加了动画,那么当进入s2状态时会执行该动画,但是在动画执行结束之前,按钮的尺寸不会达到预定义的值。当进入s3状态时,未给该属性设置值,但是s1状态为该属性定义了值1.0,所以,s3会继承该值,将fooBar设置为1.0。
2023-03-25 10:55:46
431
原创 C++11中std::move和std::forward技术在代理模式与impl模式下混合实例
【代码】C++11中std::move和std::forward技术在代理模式与impl模式下混合实例。
2023-03-10 10:54:24
119
原创 信号与槽中形参用法浅析
下面是main.cpp文件内容,main()函数的具体工作是注册自定义Student类型作为信号与槽可以识别的类型,然后,实例化了Connection2EW、Connection2EWSignal对象,并分别放入不同的线程,并分别启动各个线程。优点:相当于在指针加了一个外壳,传递的是智能指针,引用计数加一,不会再进行复制构造函数,大大降低传递过程中系统开销。根据输出可以分析出,Student类只实例化了一次,并在槽函数作用域运行结束后,这块内存释放。使用建议:避免这么操作。
2023-02-16 13:39:14
201
原创 arm麒麟V10手动编译安装qt --华为擎云900l ARM处理器
基于arm银河麒麟V10 QT 型号:华为擎云L420 处理器:麒麟9006C
2022-09-01 17:44:05
1874
2
原创 Lambda表达式,QSharedPointer<>,std::function<>用法实例
Lambda表达式,QSharedPointer<>,std::function<>在Qt开发中用法实例
2022-03-08 10:55:25
262
原创 强制类型转换里面的坑
今天发现一个问题,你定义一个 char 类型变量tempChar=0xcf,然后强制转换为 unsigned short tempShort = (unsigned short)temp Char;w
2022-03-04 09:51:47
111
原创 Qt 自定义动态进度条,双层进度动态显示
我在一个项目中,要从文件将数据导入到数据库中,由于导入数据量大,在导入的过程中,有时候进度条会停留在0%大概半分钟之久,如果没有动态提示的话,用户很可能误认为该软件已经死了。所以我在进度条上显示“数据正在加载中,请稍后。。。”的动态显示。这样用户就不会认为程序死了。#include "myprocessbar.h"#include <QStyleOptionProgressBar>#include <QPainter>#include <QTimer>MyP.
2021-11-25 14:40:27
1957
2
原创 2021-09-12
## 标题QT串口组包技巧 QString 与 QByteArray的正确用法QString 与 QByteArray区别QString只能存储可显示的字符,QByteArray 可以存储任何字符。在进行串口数据组包的时候,通过QByteArray字符数组组好的包,尽量不要转换成QString进行处理,因为这样很可能会因为QByteArray 数组里面含有\0等不能显示的字符,出现丢包。用法举例Q...
2021-09-12 11:09:08
144
打包工具,x86和arm飞腾2000,银河麒麟v10
2024-07-05
ubuntukylin下vscode+qt+qmake 工程示例
2024-04-13
qt下ZLToolkit组播收发实例
2023-12-11
libpcap+抓包解析示例
2023-12-11
Qt 反射机制实现,通过类名创建对象
2023-12-01
qt5.12.10飞腾2000版+linuxdeployqt飞腾2000版+dpkg打包样例
2023-11-13
qt并发状态机应用实例
2023-10-08
cmake 、代理模式与pimpl模式混用实例、std::move、std::forward()应用
2023-03-14
qt+信号与槽+形参+跨线程
2023-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人