2017-03-24 69 views
0

我已阅读了Qt教程,我已经搜索过网络,但是我无法找到如何使用Qt 5.8.x构建自定义插件的确切方法。在例子tutorial中,我可以为Qt 4.x构建小部件,因为我已经成功了。对于Qt 5.8.x,我缺乏这样简单的教程。如何为qt设计器构建自定义小部件

即使您使用Qt的向导中的构建来设置这样的自定义小部件项目,也会以没有识别的小部件库结束。

所以首先,对安装路径存在困惑,makefile在安装插件时应该提及。

在项目文件中,人们可以找到在Windows路径C 7机器的部分

target.path = $$[QT_INSTALL_PLUGINS]/designer 
INSTALLS += target 

的的Qt 5.8.0的开源版本的MinGW一个简单的安装之后:\ Qt的\ QT5。 8.0,变量 “QT_INSTALL_PLUGINS” 将延伸到

C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件

因而 “target.path” 为

make install 

将被解读为

C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件\设计师

但与普通安装的Qt 5.8.0的MinGW的设计师搜索其插件中

C:\ Qt的\ Qt5.8.0 \工具\ QtCreator \ BIN \插件\设计\

正如有人已经向我建议,必须设置环境变量“QT_PLUGIN_PATH”,其中Qt Creator以及Qt Designer(在子目录“designer”中)搜索其插件。所以为了Qt Creator仍然可以正常运行一个具有环境变量“QT_PLUGIN_PATH”设置为

  • 原始路径以及为
  • 安装路径由$$ [QT_INSTALL_PLUGINS]

所以在下文称我Windows 7环境我等变量 “QT_PLUGIN_PATH” 到

C:\ Qt的\ Qt5.8.0 \工具\ QtCreator \ BIN \插件; C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件

之后,Qt Designer能够找到自定义构建部件库。但是Qt Designer无法加载库。有趣的是,设计者也拒绝安装Qt本身提供的库。

    上LIB它说加载自定义部件
  • “...... .dll文件无法加载:给定的程序没有被发现”

  • 上加载提供的库在路径C Qt的分布itselfs:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件\设计师这样说的:

    “...... .dll文件不能被加载:提到MODUL未找到”

我为构建库所做的事情是,我刚刚通过项目向导运行以生成Qt Designer的自定义小部件。有了这样生成的项目,我得到了一个不可装载的lib的结果,如上所述。

为了Qt设计器能够正确加载lib,我需要在源文件/项目文件中更改哪些内容?

感谢您的任何提示或建议!

+0

您好,这里是您的教程的Qt5版本实际上:http://doc.qt.io/qt-5/designer-creating-custom-widgets.html –

+0

感谢您的链接! 我下载了worldtimeclock示例的所有代码和项目文件。但在我的环境中,我仍然遇到同样的错误。库无法加载。设计说:“图书馆...... worldtimeclockplugin.dll无法加载:提到的程序没有找到”。 但我不知道,哪个程序丢失,或设计器锁定的过程。我如何检索这些信息? – akazen

回答

0

您似乎使用MinGW编译器。
您不能使用默认提供的Creator制作插件,因为它使用Visual Studio 2013/2015编译(取决于Qt版本)。 由于DLL在Windows上的工作原理,您必须使用Creator编译的相同编译器来构建插件(否则无法加载它)。

转至“帮助”菜单中的“关于Qt Creator”进行检查。

同时一定要建立在Release模式插件。

相关问题