QT Designer 插件

it2025-06-08  22

官方文档

qt助手搜索 Qt Designer Manual Using Custom Widgets with Qt Designer

自定义控件

方法一:Promoting Widgets

方法二:User Defined Custom Widgets

要使用以这种方式创建的插件,必须确保该插件位于Qt Designer搜索插件的路径上。通常,存储在其中的插件$QTDIR/plugins/designer将在Qt Designer启动时加载。

qt助手搜索 Creating Custom Widgets for Qt Designer

创建QDesignerCustomWidgetInterface的子类,该子类描述窗口小部件公开的各种属性

插件要求

为了使插件在所有平台上都能正常工作,您需要确保它们导出Qt Designer所需的符号。

使用 Q_PLUGIN_METADATA()宏导出插件类,以便Qt Designer加载插件。使用 QDESIGNER_WIDGET_EXPORT 宏定义Qt Designer实例化的插件中的每个自定义窗口小部件类。
pro 文件:
QT += widgets uiplugin CONFIG += plugin TEMPLATE = lib

uiplugin: 该QT变量包含关键字uiplugin。该插件仅使用抽象接口QDesignerCustomWidgetInterface和QDesignerCustomWidgetCollectionInterface,并且没有与Qt Designer库的链接。

designer : 访问具有链接的Qt Designer的其他接口时,uiplugin 应该被 designer 替代;这样可以确保插件动态链接到Qt Designer库,并且对它们具有运行时依赖性。

安装插件

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

配置make 变量添加 install ,这样 make install 时候就安装到插件目录

### 编译链接插件

使用源码 通过创建pri,可以在应用程序和Qt Designer之间共享自定义窗口小部件的源文件和头文件: INCLUDEPATH += $$PWD HEADERS += $$PWD/analogclock.h SOURCES += $$PWD/analogclock.cpp

然后,该文件将包含.pro在插件和应用程序的文件中:

include(customwidget.pri) 使用库共享 另一种方法是将小部件放入链接到Qt Designer插件以及应用程序的库中。建议使用静态库,以避免在运行时查找库时出现问题

加载插件

QT_PLUGIN_PATH 运行程序前 设置环境变量QT_PLUGIN_PATH 来配置Qt Designer在其他位置查找插件

addlibraryPaths() 或者 QCoreApplication :: addlibraryPaths() 添加其它路径下的插件

最新回复(0)