Мой пользовательский виджет не отображается в Qt Creator / Qt Designer, но он отображается при запуске программы - PullRequest
0 голосов
/ 05 ноября 2019

Я хотел бы разделить все свои вкладки на несколько пользовательских виджетов. С 1 большим MainWindow все в порядке. И это WYSIWG:)

У меня есть QMainWindow с 1 QTabWidget.

Я создал пользовательский виджет (с .ui, .h и .cpp).

Я включил этот пользовательский виджет на 1-й странице моего QTabWidget, но содержимое этого виджета не отображается.

Конечно, я продвинул свой пользовательский виджет как Tab1Custom.

Он компилируется и работает, когда я нажимаю Execute, но в Qt Creator / Designer.

отображается пустая вкладка. Это начало моего MainWindow

<?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>
    ....

1 Ответ

0 голосов
/ 06 ноября 2019

Вот как это работает, когда вы используете собственный виджет и продвигаете его. Чтобы нарисовать ваш виджет с контентом, вы должны создать DLL для расширения Qt Designer. Посмотрите "Создание пользовательских виджетов для Qt Designer" для получения дополнительной информации об этом.

По большей части, я не думаю, что это стоит усилий;Вообще говоря, хорошо, что он просто показывает пустой виджет или какой-либо базовый виджет, который вы продвигали.

...