- 博客(15)
- 收藏
- 关注
原创 linux下qt工程打包方案
将qt库一并打包后,安装在其他PC并运行,此时会存在如图1所示的问题,程 序依旧无法运行。此时可以看到详细的报错信息,可以看到加载libQt5XcbQpa库是系统自带的版 本,其依赖的qt库为高版本,而我们程序已经加载了我们编译时使用的5.9.6的 版本的QtCore库,所以导致加载xcb库时失败。进入platforms目录,使用readeld命令查看linqxcb.so发现运行时依赖库目 录为后退两级的lib文件夹(如图4),因为我们没有这个文件夹,所以其查找依 赖时找到了系统路径下的库。
2023-08-31 16:36:48 271 3
原创 Linux下svn常用命令
merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)path (显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。://192.168.1.1/pro/domain/test.php -m "delete test file"或者直接。update -r 200 test.php(将版本库中的文件test.php还原到版本200)A:预定加入到版本库;
2023-06-30 10:57:17 306
原创 qt注册单例至qml退出时崩溃(qmlRegisterSingletonType)
qt注册单例至qml退出时崩溃(qmlRegisterSingletonType)
2023-02-12 17:29:18 605 1
原创 qml程序纯净环境报错“QtQuick.Controls“ is not installed
qml程序纯净环境报错"QtQuick.Controls" is not installed
2023-02-11 22:32:17 2034
原创 基于vlc-Qt的视频播放器(支持添加视频列表、单曲循环等)
基于libvlc和Qt实现了一个视频播放器,可实现列表循环播放,单曲播放等,效果好于Qt自带的视频播放库。代码如下,也可在本人github中查看下载具体工程。github地址:https://github.com/qin11152
2022-05-14 16:35:36 3266 4
原创 使用vlc库时无法收到鼠标键盘事件
最近使用libvlc开发视频播放器时发现,视频一旦渲染到设定的widget上之后,捕获的鼠标移动和手势缩放事件失效了,添加打印信息后发现根本无法接受到相关事件。 查阅资料发现是vlc吃掉了相关事件,但只需两行代码,关闭vlc对事件的过滤即可。代码如下:libbvlc_video_set_mouse_input(m_ptrMediaPlayer, false); libvlc_video_set_key_input(m_ptrMediaPl...
2022-05-14 16:02:35 553
原创 c++程序只存在一个实例(exe)的方法
最近项目开发过程中遇到了保证程序只有一个实例存在的需求,也就是只能存在一个exe。本人目前有两种实现的方法。一、基于Qt的实现基于Qt的实现是利用了Qt中的共享内存(QSharedMemory),第一个运行的exe创建一个共享内存,后续的程序如果能访问到此内存,就认为已有exe存在了。伪代码如下:int main(){ //创建一个共享内存 QSharedMemory sharedMemory; //设置共享内存的标识,这个标识是确定的 sharedMemor
2022-05-09 18:21:16 918
原创 Qt加载大图片(图片较大无法正常加载,显示空白处理方法)
在项目中开发壁纸预览功能时,遇到一个100M的BMP图片无法加载的问题,查阅资料得知加载时较大的图片会因内存不足无法加载,显示一片空白,此时可通过分段读取的方法解决。具体代码如下:QImageReader imageReader(url); QImage _image = QImage(1920, 1080, QImage::Format_ARGB32); QSize imageSize = imageReader.size();
2022-04-29 17:24:50 5949
原创 设置QWidget为圆角矩形(同时设置背景图和圆角矩形)
在实际项目开发过程中有时需要设置QWidget中的背景图的同时还需要将其设置为圆角矩形样式。此时可以通过重绘事件完成两项工作。1. 首先设置属性为无边框(即使不设置为无边框,运行后同样为无边框,目前尚未得知其原理)setWindowFlags(Qt::FramelessWindowHint);2. 重写重绘事件void YourClass::paintEvent(QPaintEvent *event){//绘制样式QStyleOption opt;opt.initFrom(th
2022-04-29 17:18:18 3742 2
原创 基于C++11/14的线程池(可添加任意类型函数任务)
基于cpp14完成的线程池线程池线程数量在构造对象时可指定。线程池中包含一个deque的任务队列。可通过外部接口像队列中增加任务。当有空闲线程时便会处理任务队列中的任务。析构或结束时回收线程资源。ThreadPool.h文件#pragma once#include <deque>#include <memory>#include <mutex>#include <functional>#include <con
2022-04-28 11:33:19 1901 2
转载 Qt的事件循环机制,如何从发送者到接受者详解
https://www.51cto.com/article/272816.htmlhttps://www.51cto.com/article/272812.html以上两篇文章结合Qt源码对Qt的时间循环机制进行了详细的介绍,本人阅读后对事件从发送者到接受者的过程有了更深的了解,在此记录。...
2022-04-27 15:03:09 219
原创 windows api设置窗口不在任务栏和窗口管理器(alt+tab)中显示
windows api设置窗口不在任务栏和窗口管理器(alt+tab)中显示
2022-04-24 15:24:22 1183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人