我的自定义小部件未显示在 Qt Creator / Qt Designer 中,但在我执行程序时会显示

My custom widget is not shown in Qt Creator / Qt Designer but it is shown when I execute the program

我想要一个 QTabWidget 带有包含自定义小部件的选项卡。

  1. 我创建了一个自定义小部件(由 .ui、.h 和 .cpp 文件组成)

  2. 我在我的QTabWidget首页添加了这个自定义Widget,但是这个Widget的内容在QtCreator的设计器中没有显示。

  3. 我将我的自定义小部件提升为 Tab1Custom

此设置在我 运行 程序时按预期编译和工作,但我的自定义控件未显示在 QtCreator 的设计器中。

如何使我的自定义控件显示在 QtCreator 的设计器中?

这是 MainWindow.ui 的第一部分:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>my title </string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <widget class="QTabWidget" name="tabWidget">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>10</y>
      <width>801</width>
      <height>551</height>
     </rect>
    </property>
    <property name="currentIndex">
     <number>0</number>
    </property>
    <widget class="Tab1Custom" name="myTab1">
     <attribute name="title">
      <string>My Tab number 1</string>
     </attribute>
    </widget>
    ....

这就是您使用自定义小部件并对其进行推广时的工作原理。为了让您的小部件绘制内容,您必须创建一个 DLL 来扩展 Qt Designer。查看 "Creating Custom Widgets for Qt Designer" 了解更多信息。

在大多数情况下,我认为不值得为此付出努力;一般来说,它只显示一个空白小部件或您提升的任何基本小部件都很好。