自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 ubantu执行sudo chown -R username xxx(文件夹)命令失效

设置完后共享文件夹显示锁标记(文件夹的权限对当前用户设置为只读)。解决方法:既然 chown 无效,可以通过挂载时指定用户 ID(UID)和组 ID(GID),让当前用户成为所有者。于是尝试通过以下命令将文件夹所有者从root改为当前用户,执行没有错误,但文件访问权限并未改变,文件夹还是处于上锁状态。1、CIFS 是 Windows 的文件共享协议,Linux 不能直接修改 Windows 文件的所有者。(2)使用uid和gid重新挂载,让当前用户成为文件所有者。需求:解决文件夹上锁的问题。

2025-04-03 17:33:57 270

原创 解决Ubuntu文件夹锁标记

文件夹锁标记是Ubuntu系统中常见的权限问题,但通过合理的权限管理和使用适当的命令,可以轻松解决这一问题。本文介绍了多种去除文件夹锁标记的方法,并提供了权限管理的最佳实践,帮助您更好地管理和维护Ubuntu系统。

2025-04-02 08:58:09 718

原创 Qt:QWebEngineView显示网页失败

总结:QWebEngineView显示网页失败的根本原因在于在qt运行时 QtWebEngine 所需的资源没有被正确加载,因为本人还没去深入了解使用QWebEngineView显示网页的全流程,可能是因为缺少了一个正式的添加 webenginewidgets模块的步骤导致所需资源没能被正确加载,因此只能通过这种方式手动添加资源到编译路径的exe同级目录下。今天在新电脑搭建qt开发环境,在运行程序时发现通过QWebEngineView显示的html失败,同样的代码在旧电脑上没有这个问题。

2025-03-25 18:14:20 761

原创 关于Typora打开出现空白闪退、cl*sh无界面显示并出现闪退的问题

最近公司给配了新电脑,需要在新电脑重新搭建开发环境。有些常用的软件通过U盘直接拷到新电脑使用(如Typora、clash等)。这些软件在原电脑能正常使用,但是在新电脑却出现了无法显示界面并且闪退的情况。通过搜索发现与新电脑使用了GPU的沙盒机制有关,猜测软件无法显示的问题可能可以归类为同一原因,因此记录一下。原电脑配置:win10家庭版新电脑配置:win11家庭中文版 24H2。

2025-03-25 09:18:00 757

转载 Qt:界面类名的修改

Qt 中如果想要使用多个已经写好的界面类,往往会发现界面类的名称要么是“MainWindow”,要么是“Widget”,或者是“Dialog”。那么重名的界面类在一起就会在所难免。或者你想修改界面类的名称。那么一定要切记不可直接修改界面类的名称。1.修改.ui文件名称为xxxmainwindow.ui/xxxwidget.ui/xxxdialog.ui :在工程树下右键修改即可。2.修改.h,.cpp名称与.ui文件名称对应:同样是在工程树下右键修改即可。然后在此处即可方便的修改。

2025-03-21 11:13:59 24

原创 Qt:提升类时报错 无法打开包括文件:“xxx.h”:No such file or directory

(1)在项目已添加一个qt设计师界面类xxx。原因是在提升类时头文件没有加上对应的子路径。(2).pro文件也已经添加相关信息。检查后发现是.h文件的路径没导入对。

2025-03-19 10:20:27 216

原创 Qt:QDataStream::setByteOrder,数据流大小端设置,高字节数据先发送

stream.setByteOrder(QDataStream::LittleEndian)是通过小端的形式将数据存到QByteArray 中,如下图。设备:上位机、模拟的下位机、模拟串口软件均在windows上运行,通过modbus rtu协议进行通讯。上位机想接收的是0x000A(10),实际接收的却是0x0A00(2560)计算机从低地址开始读取,所以发送的数据字节为0A 00,与预期不符。要想高字节数据先发送,则需要采用大端存储的方式。下位机发送一个quint16类型的数据。

2025-02-24 16:46:40 191

原创 在串口通信中,对通信协议中字节数据的理解

这就是为什么要向下位机发送02 03 ED 1E 00 11 D0 9F,而不是直接发送“我要读取从寄存器0xED1E开始的17个寄存器数据”如果只是单纯的把02 03 ED 1E 00 11 D0 9F转为字节数组发给下位机,是不行的。我们需要把“人”能理解的内容(文本、图片、视频)转成计算机能理解的内容(二进制数),所以需要转换为字节类型的数据。在串口通讯中我们常常需要传输字节类型的数据,而通信协议相当于一套规则,解释这段数据是什么意思,"0"(字符 0)在 UTF-8 中表示为 0x30。

2025-02-21 14:09:35 316

原创 Qt前端——实现自定义控件

在mainwindow.ui中只看到刚添加的控件,具体的实现依赖于自定义的类中(比如QSerial_one)运行效果实现自定义控件,首先需要新建Qt设计师界面类,在新建类中完成相关界面或逻辑,然后在别的类中通过“提升为”将自定义控件引入。

2025-02-17 00:46:53 235

原创 Qt前端——Input Widgets输入控件组

用于提供一个下拉列表,用户可以从列表中选择一个选项。

2025-02-13 00:08:52 709

原创 Qt前端——Containers容器组控件

并提供一个带标题的边框。它常用于界面布局中,帮助用户更直观地理解控件之间的关系。QGroupBox 可以设置为可选的(checkable),即带有一个复选框,用户可以通过勾选或取消勾选来启用或禁用组内的控件。实现效果如下:如图,Group Box2设置为可选的,当取消勾选时Group Box2内的控件被禁用。

2025-02-12 00:41:20 1037

原创 Qt前端——Item Widgets:展示列表、表格或树形结构

是一组用于显示和操作项目(items)的控件,通常用于展示列表、表格或树形结构的数据。这些控件允许用户与数据进行交互,如选择、编辑、排序等。

2025-02-07 23:41:51 308

原创 Qt前端——Button控件

1、实现效果如下:在按钮中添加图片资源以及文字描述。一般使用Tool Button实现。1.1、过程(1)首先先在项目中添加好资源文件(2)选择Tool Button,在qt designed中找到icon(图标),选择资源,选择(1)中添加的图片资源添加后效果如下,会发现图片较小(3)通过修改iconSize可以修改资源大小修改后效果如下(4)按钮添加图片资源的同时添加文字:找到toolbuttonstyle->选择toolbuttontextbesideicon效果。

2025-02-06 23:25:56 263

原创 Qt:将quint16类型数据转为QByteArray

QDataStream 通过流式操作符 (<< 和 >>) 读写数据,类似于 C++ 的 std::iostream。在开发过程中遇到如下情况:需要将一组quint16类型的数据转为QByteArray发送给上位机,QDataStream 是 Qt 提供的二进制数据流类,用于在 文件、网络、内存 等介质中。法一:quint16—> QString—>QByteArray。法二:使用QDataStream类。它可以自动处理数据的字节序和。

2025-02-06 17:48:52 179

原创 Qt:将QByteArray转为QString

在开发过程中,需要解析上位机传来的数据。但串口数据传输是以二进制形式传输,在QT中通过QByteArray类型来存放。.toUpper()将十六进制字符串转换为大写(默认 toHex() 生成的是小写)toHex() 会将 QByteArray 的每个字节转换为两位十六进制表示。参数 ' '(空格字符)表示每两个十六进制字符之间插入一个空格,提升可读性。

2025-02-06 16:35:56 288

原创 C++强制类型转换:在上行/下行转换中如何使用static_cast和dynamic_cast

从某个类删除const、volatile和__unaligned属性,,但只限于去除const或volatile等限定符,

2025-01-20 12:02:50 886

原创 Qt开发问题记录:获取QTableWidget表格控件中当前编辑单元格的行列信息——&QTableWidget::cellChanged信号

但是该信号没有参数传递,无法直接传递当前编辑单元格的行和列。通过绑定&QTableWidget::cellChanged信号来实现:在 Qt 中,可以通过连接 QTableWidget 的信号 cellChanged(int row, int column) 来检测单元格内容的修改。在实际的开发过程中,因为编辑单元格的内容时需要使用到虚拟键盘进行输入,因此需要用QLineEdit控件与每个单元格进行绑定。用户单击单元格后可以编辑单元格的内容,需要根据所编辑单元格的内容设置下一单元格显示的内容。

2025-01-11 21:12:55 481

原创 使用强制类型转换导致小数丢失的问题

主要原因是整数除法会导致小数部分丢失。

2024-12-25 17:14:41 99

原创 windows下设置共享文件夹供Ubantu访问

环境win10+ubantu22.041、windows下设置文件夹属性为共享2、打开vmware虚拟机的ubantu,右键“设置”->“选项”->“共享文件夹”,勾选“总是启用”选项,将刚才在windows上设置的共享文件夹的路径添加进去3、挂载共享文件夹到本地目录3.1、打开ubantu终端,安装必要的软件包(如果未安装)3.2、创建挂载点:在你的ubantu中选择一个文件目录作为挂载点,比如我的是“~/windows_share”

2024-12-22 15:44:54 683

原创 关于qt下执行bat脚本失败的问题

当执行完p.start()后没有按预期执行bat脚本。对象在进程仍然运行时被销毁。等线程执行完后再销毁QProcess对象。通过日志看到如下信息:这个警告提示。对象在进程完成之前就被销毁了。

2024-12-19 13:07:09 279

原创 Qt:关于运行使用windeployqt打包的exe程序时报错:无法定位程序输入点,于动态链接库xxx的原因

在通过.pro文件运行时,qt会根据不同的编译器自动选择bin目录,但是如果直接双击运行exe文件,则系统会在path下找第一个编译器的bin目录来运行(直接在桌面cmd 运行windeployqt打包程序也是同理,会让程序连接到第一个bin目录的动态库),这样就会导致链接到错误的库出现报错。彻底解决Qt报错:无法定位程序输入点于动态链接库_qt无法定位程序输入点于动态链接库-优快云博客。通过在网上查找资料发现是因为在环境变量中为qt配置了多个编译器的路径导致的。

2024-12-18 23:21:47 521

原创 关于 Qt编译时使用msvc编译器报错“Error: cannot open ...main.obj.10836.32.jom for write” 的解决方法

问题:“Error: cannot open ...main.obj.10836.32.jom for write”解决办法: 点击“工具”->"选项"->"构建和运行"->“取消‘使用jom代替nmake‘勾选”至于这个方法为什么能解决问题还不清楚,chatgpt给出的解释如下。

2024-12-15 00:17:17 150

原创 qt:在安装了mqtt模块后项目依旧报错::-1: error: Project ERROR: Unknown module(s) in QT: mqtt的问题

问题原因:因为另外一个项目使用的是不同的编译器,之前的mqtt模块只是安装在了另一个编译器中,所以需要在新的编译器中重新安装一遍mqtt模块。开发环境:windows、qt5.14.2。

2024-12-15 00:04:14 599

原创 Qt导入模块(charts、mqtt)

网上的资料大多都是说通过MaintenanceTool.exe来导入,但是运行后我这只显示已安装的模块,无法添加新的模块,折腾一番无果后,选择了重装Qt然后勾选上Qt Charts模块。找到对应自己Qt版本的路径(比如我的是5.14.2),然后在里面找到自己缺少的组件,把URL添加到临时资料档案库就可以显示未添加的模块了。关于只显示已安装模块的问题,参考这篇博客,猜测是因为临时资料档案库所用的镜像资源的问题,后来参考这篇博客,能显示到未安装的模块了。1、在源码库上找到对应自己qt版本的mqtt模块下载。

2024-12-14 23:52:34 1206

原创 undefined reference to XXX clang++: error: linker command failed with exit code 1

在对应的头文件中函数 analysis_imu(char_array) 没有用 extern "C"包裹,导致编译器不能识别出该c函数。在对应头文件中用extern "C"包裹住相应函数。

2024-05-16 10:49:08 901

原创 android项目运行按钮灰色

原因:要用sync project with gradle files同步grade,但是sync project with gradle files按钮找不到,原因是导入的包不对。从gitee克隆过来的apk运行按钮灰色。

2023-12-05 17:11:34 269

原创 在同一台电脑上Windows利用Putty通过openssh服务连接ubantu,并利用Pscp传输文件。

3)输入命令pscp qing222@192.168.47.139:/home/qing222/a1 F:\(注意空格),文件从ubantu下载成功。1)同理输入命令pscp F:\qwe.txt qing222@192.168.47.139:/home/qing222/2、Windows下载Putty,打开运行后输入ubantu的IP地址。1)查看Windows下载的Putty路径(找到Pscp.exe)1、ubantu打开openssh服务。1、从ubantu下载文件。2、传输文件到ubantu。

2023-11-20 17:08:13 313 1

原创 vmware上ubantu网络连接不上的问题

打开主机上vmware的NAT和DHCP服务。2、ping不通网址,浏览器也打不开。1、网络适配器选择的是NAT模式。

2023-11-03 21:04:20 106

原创 生产者――消费者问题算法的实现

利用c++语言解决简单的生产者与消费者的问题。1.问题描述:一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将消息送入缓冲池,只要缓冲池未空,消费者可从缓冲池取走一个消息。2.功能要求:根据进程同步机制,编写一个解决上述问题的程序,可显示缓冲池状态、放数据、取数据等过程。 ...

2022-06-07 22:49:37 584 1

空空如也

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

TA关注的人

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