QT Designer 插件

官方文档

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 时候就安装到插件目录

QT Designer 插件_第1张图片### 编译链接插件

  • 使用源码
    通过创建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() 添加其它路径下的插件

你可能感兴趣的:(QT/QML)