Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为qt设计器构建自定义小部件_C++_Qt_Widget_Designer - Fatal编程技术网

C++ 如何为qt设计器构建自定义小部件

C++ 如何为qt设计器构建自定义小部件,c++,qt,widget,designer,C++,Qt,Widget,Designer,我已经阅读了Qt的教程,搜索过网络,但是我找不到使用Qt5.8.x构建自定义Widget的确切方法。在这个例子中,我已经成功地为Qt4.x构建了小部件。对于Qt5.8.x,我缺少这样简单的教程 即使您使用Qt的内置向导来设置这样的自定义小部件项目,最终也会出现无法识别的小部件库 因此,首先,在安装插件时,makefile应该提到的安装路径存在混乱 在项目文件中可以找到该部分 target.path = $$[QT_INSTALL_PLUGINS]/designer INSTALLS +=

我已经阅读了Qt的教程,搜索过网络,但是我找不到使用Qt5.8.x构建自定义Widget的确切方法。在这个例子中,我已经成功地为Qt4.x构建了小部件。对于Qt5.8.x,我缺少这样简单的教程

即使您使用Qt的内置向导来设置这样的自定义小部件项目,最终也会出现无法识别的小部件库

因此,首先,在安装插件时,makefile应该提到的安装路径存在混乱

在项目文件中可以找到该部分

target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS    += target
在windows 7机器上以路径C:\Qt\Qt5.8.0直接安装Qt 5.8.0的开源mingw版本后,变量“Qt\u INSTALL\u PLUGINS”将扩展到

C:\Qt\Qt5.8.0\5.8\mingw53\u 32\plugins

因此

将被解读为

C:\Qt\Qt5.8.0\5.8\mingw53\u 32\plugins\designer

但是在使用mingw的qt5.8.0的简单安装上,设计师在

C:\Qt\Qt5.8.0\Tools\QtCreator\bin\plugins\designer\

正如有人向我建议的那样,必须设置环境变量“QT_PLUGIN_PATH”,QT Creator和QT Designer(在子目录“Designer”中)在其中搜索其插件。因此,为了使Qt创建者仍然正常工作,必须将环境变量“Qt_PLUGIN_PATH”设置为

  • 原始路径以及到
  • $$[QT\u install\u PLUGINS]引用的安装路径
因此,在我的Windows7环境中,我将变量“QT\u PLUGIN\u PATH”设置为

C:\Qt\Qt5.8.0\Tools\QtCreator\bin\plugins;C:\Qt\Qt5.8.0\5.8\mingw53\u 32\plugins

之后,Qt设计器能够找到定制的构建小部件库。但Qt Designer无法加载库。一件有趣的事情是,设计者还拒绝安装Qt本身提供的库

  • 加载自定义小部件库时,会显示: “…无法加载dll:找不到给定的过程”

  • 加载Qt发行版提供的LIB时,其自身在路径C:\Qt\Qt5.8.0\5.8\mingw53\u 32\plugins\designer中显示: “…无法加载dll:找不到提到的模块”

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

为了使Qt设计器能够正确加载lib,我必须在源/项目文件中更改什么


谢谢你的任何提示或建议

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

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


还要确保在发布模式下构建插件。

您好,这是您教程的Qt5版本:谢谢链接!我下载了worldtimeclock示例的所有代码和项目文件。但在我的环境中,我仍然会遇到同样的错误。无法加载库。Design说:“无法加载库……worldtimeclockplugin.dll:未找到所述过程”。但我不知道缺少了哪个过程,或者设计师锁定了哪个过程。如何检索此信息?
make install