创建和使用 Qt Designer 组件
创建自定义小部件插件
在实现自定义小部件插件时,必须通过继承 QDesignerCustomWidgetInterface 来将您的小部件公开给 Qt Designer。单独构建一个自定义小部件插件作为独立的库。如果想在同一库中包含多个自定义小部件插件,还必须继承 QDesignerCustomWidgetCollectionInterface。
要使您的小部件插件在 Qt Designer 的工作空间中具有预期的行为和功能,可以继承相关扩展类
QDesignerContainerExtension 类允许您向自定义多页容器添加页面。 QDesignerTaskMenuExtension 类允许您向 Qt Designer 的任务菜单中添加自定义菜单项。 QDesignerMemberSheetExtension 类允许您操作当使用 Qt Designer 的信号和槽编辑模式配置连接时显示的小部件的成员函数。最后,QDesignerPropertySheetExtension 类允许您操作显示在 Qt Designer 的属性编辑器中的小部件属性。
在 Qt Designer 中,扩展仅在需要时创建。因此,在实现扩展时,必须还继承 QExtensionFactory,即创建一个能够创建扩展实例的类。此外,您必须确保 Qt Designer 的扩展管理器注册您的工厂;扩展管理器控制扩展的创建,您可以通过 QDesignerFormEditorInterface 和 QExtensionManager 来访问。
有关创建具有扩展的自定义小部件插件的全例,请参阅 任务菜单扩展 或 容器扩展 示例。
检索对 Qt Designer 组件的访问
本节中提到的类的目的是提供对 Qt Designer 的组件、管理器和工作空间的访问,它们不打算直接实例化。
Qt Designer 由多个组件组成。在其工作空间中,您可以看到操作编辑器、属性编辑器、小部件箱和对象检查器。
Qt Designer 还有一个在幕后工作的对象;它包含将所有 Qt Designer 组件集成到一个连贯应用程序的逻辑。您可以使用 QDesignerFormEditorInterface 访问此对象以检索对 Qt Designer 组件的接口
- QDesignerActionEditorInterface
- QDesignerObjectInspectorInterface
- QDesignerPropertyEditorInterface
- QDesignerWidgetBoxInterface
此外,您还可以使用QDesignerFormEditorInterface来获取到Qt Designer的扩展管理器(QExtensionManager)和表单窗口管理器(QDesignerFormWindowManagerInterface)的接口。扩展管理器控制扩展的构建,当需要时进行构建,而表单窗口管理器控制Qt Designer工作空间中出现的表单窗口。
一旦您有了Qt Designer表单窗口管理器(QDesignerFormWindowManagerInterface)的接口,您也可以访问Qt Designer工作空间中当前出现的所有表单窗口:QDesignerFormWindowInterface类允许您查询和操作表单窗口,并提供了一个访问表单窗口光标的接口。QDesignerFormWindowCursorInterface是一个方便的类,允许您查询和修改指定表单窗口的控件选择,并修改所有表单控件的属性。
在运行时创建用户界面
QtDesigner模块包含QFormBuilder类,该类提供了一种在运行时动态创建用户界面的机制,基于使用Qt Designer创建的UI文件。此类通常用于自定义组件和嵌入Qt Designer的应用程序。需要在使用运行时动态生成用户界面的独立应用程序使用QUiLoader类,该类位于QtUiTools模块中。
另请参阅Qt Designer手册和Qt UI工具。
© 2024 Qt公司有限公司。此处包含的文档贡献的版权归各相应所有者。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相应标识是芬兰及其它国家和地区Qt公司的商标。所有其他商标均为各自所有者的财产。