如何在QTdesigner中引入另一个UI文件的设计内容
Qt Designer导入其他UI文件已有设计的操作方法
下面是两种不同场景下的操作方案:
方法一:一次性导入复制(适合不需要后续同步更新的场景)
- 打开当前正在编辑的目标UI文件,保持编辑状态
- 点击顶部菜单栏的文件选项,选择下拉菜单的导入 → 导入UI(部分旧版本Qt Designer显示为导入资源文件,选择后切换文件筛选格式为.ui即可)
- 在弹出的文件选择窗口选中你要复用的源UI文件,点击确认
- 源UI的所有控件会作为整体组合导入到当前画布左上角,你可以直接拖拽调整位置、拆分组合后按需修改
该方案导入的内容是独立副本,后续源UI修改不会同步到当前UI文件中。
方法二:封装为自定义组件复用(适合需要同步更新源UI的场景)
- 先完成源UI文件的编辑保存,假设文件名为
source.ui,对应类名为SourceForm - 打开目标UI文件,在画布中添加一个和源UI根容器类型一致的基础容器,比如源UI根容器是QWidget就拖入QWidget,根是QDialog就拖入QDialog
- 右键点击刚添加的容器,选择提升为选项
- 在弹出的设置窗口中,提升的类名称填写源UI的类名
SourceForm,头文件填写源UI编译后的头文件名(如source.h) - 依次点击添加 → 提升即可完成设置
- 后续程序编译时会自动加载源UI的设计内容,源UI修改后重新编译,当前UI中的对应组件会自动同步更新
如果你使用的是PyQt/PySide,无需提前编译UI文件,提升时头文件直接填写源UI的文件名(去掉.ui后缀)即可,运行时配合uic.loadUi方法即可正常加载。
内容的提问来源于stack exchange,提问作者Suryakanta Maharana
相关产品推荐
相关产品推荐

