1, 创建Qt Custom Designer Widget项目 widget classes可以填多个类 link library 和 include project只能选一个 link library: 自定义widget以library形式链接到designer插件中 include project: 自定义widget以源文件形式添加到designer插件项目中 如果自定义widget是以动态库形式发布, 需要将生成的so或者dll复制到对应版...
单击Qt Creator的“File”→“New File or Project”菜单,然后选择“Qt Custom Designer Widget” 第二步 设置项目名称为“QwBatteryPlugin” 第三步 选择编译器的版本 使用Qt创建的Widget插件,若要在Qt Creator的UI设计器里正常显示,编译插件的编译器版本必须和编译Qt Creator的版本一致 可以通过点击Qt Creator的“...
新类名称根据自己需求设置,图标文件可以设置控件在Qt Designer中的图标,其他保持默认,下一步 注:首字母要大写,不然会与示例对象的默认名称冲突,导致编译错误默认,下一步完成其中mylabel.h和mylabel.cpp用于我们自定义控件,mylabelplugin.h和mylabelplugin.cpp用于Qt Designer识别自定义控件的名称、分组、头文件等信息...
QT参数含有uiplugin,他表示插件使用抽象接口 QDesignerCustomWidgetInterface和 QDesignerCustomWidgetCollectionInterface并且没有连接到Qt Designer库.如果连接了其他Qt Designer接口,designer也应该在QT参数中添加.目前这样的配法是确保插件动态的连接Qt Designer库,并且在运行期间加载他们. 如果插件使用Qt Designer不相容的模式...
Plugin结尾的类用于提供有用的组件信息给Qt Designer,非Plugin结尾的类表示自定义组件的实现。 导出单一组件时,需要Q_PLUGIN_METADATA宏,提供插件的元信息;Q_INTERFACES宏告诉Qt此类实现了哪个接口。下面一系列函数重写了QDesignerCustomWidgetInterface的接口。大致含义如下: ...
为了让自定义部件在Qt Designer有特殊行为,提供 initialize()函数来配置窗口部件运行过程中的特定行为。该函数在被第一次调用之前先调用createWidget(),可以设定一个内部标志来测试什么时候调用createWidget()函数。 1.构建插件 为了简单期间,这里只提供QLed的源码,customwidgetplugin的源码可在安装目录中的Demo里面查找(...
下面来看看Qt中提供的几个Qt Designer扩展接口类的含义: (1)QDesignerActionEditorInterface:该接口用于更改Qt Designer的动作编辑器。 (2)QDesignerContainerExtension:该接口用于在Qt Designer的工作空间中向自定义的多页容器中添加页面。 (3)QDesignerCustomWidgetCollectionInterface:该接口类用于在一个库中包含多个自定义...
准备乱写一点Qt自定义Widget在Designer中的使用。可是又不想重复提升法(promotion)及插件法基本用法,因为Manual中Using Custom Widgets with Qt Designer 使用designer Qt用户可能会经历这样的3个阶段: 刚接触Qt,在designer中拖拖拽拽,一个界面就形成了。相当方便(不过不少人网友初次接触时对layout相当不适应) ...
首先,我可以在QWidget中为子小部件创建setter和getter,并且由于Q_PROPERTY魔法,属性出现在QtDesigner的属性编辑器中。这很好,但不是我想要的。我希望能够单击 QTextEdit 并直接从那里编辑文本。默认情况下,这是不可能的。第二种解决方案 - 不起作用我查看了https://qt-project.org/doc/qt-5.0/qtdesigner/container...
其中mylabel.h和mylabel.cpp用于我们自定义控件,mylabelplugin.h和mylabelplugin.cpp用于Qt Designer识别自定义控件的名称、分组、头文件等信息 项目结构 mylabelplugin.h介绍 #ifndef MYLABELPLUGIN_H#defineMYLABELPLUGIN_H#include <QDesignerCustomWidgetInterface>classMyLabelPlugin:publicQObject,publicQDesignerCustom...