QT的插件机制在程序发布时易出现的问题

简介:

qt中对各种格式的图片、数据库、字符编码等都是以插件的机制运行的,使用动态QT库时,在运行时程序会在需要时到指定的文件夹中加载这些插件的DLL,QT中默认为是在QTDIR/4.2.2/PLUGIN中,所以经常在发布程序时,如果机器上没有装过QT,程序会找不到这个文件夹,也就无法使用这些插件,解决办法是:在程序中加入你能找到的一个文件路径,然后把相应插件的文件夹(如imageformats、codecs等)加入到这个路径,通常将你的程序路径设为这个路径,可在程序开始调用qApp->addLibraryPath(qApp->applicationDirPath ()+"/plugins");即可,这样发布时只需联通将这些插件放置在这里即可

另一种方法是编静态库,然后在程序中用Q_IMPORT_PLUGIN()来导入,即可静态编译,不需一起携带这些dll

 

目录
相关文章
Qt第二课 核心机制信号槽
Qt第二课 核心机制信号槽
170 1
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
1752 3
|
安全 C++ Windows
Qt信号与槽机制
Qt信号与槽机制
256 1
【qt】核心机制信号槽(下)
【qt】核心机制信号槽(下)
125 1
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
350 4
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
计算机视觉
基于QT的opencv插件框架qtCvFrameLearn实战
这篇文章详细介绍了如何基于Qt框架开发一个名为qtCvFrameLearn的OpenCV插件,包括项目配置、插件加载、Qt与OpenCV图像转换,以及通过各个插件学习OpenCV函数的使用,如仿射变换、卡通效果、腐蚀、旋转和锐化等。
308 10
|
C语言 C++ Windows
QT多插件通信框架CTK编译记录
本文记录了编译QT多插件通信框架CTK的过程,包括编译结果截图、部署配置、Log4Qt编译配置、参考链接和拓展资料。文中提供了详细的编译步骤和配置文件示例,以及相关的资源链接。
618 0
QT多插件通信框架CTK编译记录
|
监控 Python
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
449 6