自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QT 关于实现窗体移动和解决下拉框造成的窗体移动问题

其中由于下拉框控件QComboBox不能正确处理鼠标点击和移动事件,导致鼠标点击下拉框时,会进入mouseMoveEvent函数,但不会进入mousePressEvent函数,这将会导致鼠标点击下拉框时会造成窗体的瞬移,这个解决方法就是手动为点击下拉框事件进行处理,即在mouseMoveEvent函数中,通过过滤鼠标左键点击下拉框,从而避免函数中的pos被改变。在源文件中,重写mousePressEvent与mouseMoveEvent函数。本功能是为实现鼠标点击窗口的特定位置时,能够拖动窗体。

2024-08-27 10:05:06 188

原创 qt实现DES加解密

在Qt中实现DES加密通常需要使用OpenSSL库。确保你的系统上已经安装了OpenSSL库。如果没有安装,可以通过包管理器进行安装。在这个示例中,我们首先设置DES密钥,然后使用DES_ecb_encrypt函数进行加密和解密。

2024-08-09 09:46:32 279

原创 qt从注册表读写REG_BINARY数据

此时查看QString的数据,发现注册表信息的0x5b 0x10变成了105b,此时我很疑惑为什么QByteArray类型无法准确获取,QString类型的数据有点像,但被整合成了一位。关于写入,根据我查阅的资料,QSetting暂时不支持指定格式进行写入,只是自动判断格式,所以以下通过qsetting的方法写入二进制数据是无效的。此时查看QByteArray数据,发现读取到的与原本的完全不同,随后我又试了获取后转换为QString类型。此时的data数据就与注册表中的数据一致了。

2024-08-05 14:30:54 179

原创 解决在readyReadStandardOutput中用QThread::msleep导致的软件崩溃问题

所以在处理进程相关的代码里,还是要注意一些休眠函数的问题的,比如msleep,如果放在函数开头或结尾,是不会出现软件崩溃问题的,但如果是放在QProcess::readyReadStandardOutput中,可能会导致相应的信号处理出现异常,从而导致程序崩溃。但此时运行软件会出现如下问题:在检测到包含json_cmd 3后,软件会直接闪退,此时我想会不会是QThread的msleep函数对多进程造成了影响,于是我去网上搜索了相应的问题。如果确实需要线程暂停,可以考虑使用更合适的同步机制,例如条件变量(

2024-07-31 14:02:55 185

原创 关于qt窗体之间相互覆盖的问题

此时就会产生一个问题,在Widget类中new出来的w_AppDownload,会使AppDownloadWidget类的构造函数的parent指针指向Widget类,并且AppDownloadWidget::init中new出来的对象父类也是Widget类,而AppDownloadWidget类的构造函数中的函数setupUi(this)会把ui界面的父对象设置为this,即当前类AppDownloadWidget。1.在ui里找到AppDownloadWidget的ui,把窗体大小设置为0,0。

2024-04-12 10:25:42 757

原创 关于QT中 while循环会影响信号控制的事件相应问题

这是因为在Qt中,事件循环是用来处理GUI事件和信号的机制。如果在一个死循环中运行,那么其他的信号及事件就无法响应了。因此,如果在Qt中使用while循环,需要注意不要阻塞事件循环,否则会影响信号的发送和接收。前言:我预想使用一个线程来控制进度条的显示,再开启另一个线程处理下载,在开启下载线程后加入一个while循环来判断下载线程是否成功结束,此时会造成进度条显示进程虽然一直会发送信号ShowDownloadProgress(int),但是却不会调用slotProgressLabel(int)函数。

2023-12-15 10:40:47 478

原创 QT解决因QEventLoop退出失败导致的程序崩溃问题

一般来说调用完quit()函数之后,程序应该可以执行exec后面的代码,但出于某种我未分析出的原因,程序会再进一次lambda表达式,此时如果执行:chmoddata=QString::fromLocal8Bit(proExecuteADB->readAllStandardOutput());connect的作用是在进程已经准备好了读取标准输出时,执行lambda表达式中的代码,首先通过readAllStandardOutput()函数获取读取到的字符串,再加入到字符串队列中,以便整合。

2023-12-12 14:25:12 972 1

原创 QT调用cmd执行adb指令,实现文件的导入以及编译运行

其中fbtest可以替换成你想导入文件的文件名称,路径也可以自己定义,不过要注意如果在mkdir时,文件已经存在,那这条语句会影响到之后的命令执行,我这里是已经创建好了相应的文件夹,在代码里就屏蔽了这条指令。首先通过QProcess来运行cmd,在隐式打开的cmd中通过write来写入指令,注意命令后面都需要加上\n,,表示这是一行命令行。

2023-10-10 15:07:34 686

原创 QuaZip导入zlib后的源码编译和生成DLL后的使用总结

本篇主要是总结QuaZip导入zlib的方法以及之后的源码编译

2023-10-09 15:37:33 204

空空如也

空空如也

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

TA关注的人

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