изменяемый размер окна в QT - PullRequest
0 голосов
/ 22 сентября 2018

Я слежу за старым онлайн-тренингом по QT, швы тренера больше недоступны, так что, может быть, кто-то здесь сможет меня осветить, в этом тренинге создано небольшое графическое окно для рисования фигур.есть область для кнопок (для выбора фигур) и область для рисования.Теперь, конечно, он может изменить размер основной формы, и когда он это сделает, эти области изменят его размер.Я точно следовал курсу, но чего-то не хватает в этом курсе, потому что я не понимаю этого поведения.Я хотел бы знать, что я должен сделать, чтобы получить такое поведение, используя QTcreator (v4.71),

Я включил свой код файла .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>417</width>
<height>440</height>
</rect>
</property>
<property name="windowTitle">
<string>Main Window</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="QWidget" name="">
<property name="geometry">
 <rect>
  <x>20</x>
  <y>30</y>
  <width>381</width>
  <height>381</height>
  </rect>
  </property>
  <layout class="QHBoxLayout" name="horizontalLayout">
  <item>
  <widget class="RenderArea" name="renderArea" native="true">
   <property name="sizePolicy">
    <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     <horstretch>0</horstretch>
     <verstretch>0</verstretch>
    </sizepolicy>
    </property>
    <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <spacer name="horizontalSpacer">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>40</width>
        <height>20</height>
       </size>
      </property>
      </spacer>
      </item>
      <item row="0" column="1">
      <layout class="QVBoxLayout" name="verticalLayout">
      <item>
       <widget class="QPushButton" name="btnAstroid">
        <property name="text">
         <string>Astroid</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="btnCycloid">
        <property name="text">
         <string>Cycloid</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="btnHuygens">
        <property name="text">
         <string>Huygens</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="btnHypo">
        <property name="text">
         <string>Hypo Cycloid</string>
        </property>
       </widget>
      </item>
      <item>
       <spacer name="verticalSpacer">
        <property name="orientation">
         <enum>Qt::Vertical</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>20</width>
          <height>40</height>
         </size>
        </property>
       </spacer>
      </item>
     </layout>
    </item>
    </layout>
    </widget>
    </item>
    </layout>
    </widget>
   </widget>
  <widget class="QStatusBar" name="statusBar"/>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
  <customwidgets>
   <customwidget>
   <class>RenderArea</class>
   <extends>QWidget</extends>
   <header>renderarea.h</header>
   <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
  <connections/>
 </ui>

1 Ответ

0 голосов
/ 23 сентября 2018

Решается путем добавления свойства сетки к основной форме.Небольшой значок сверху, когда выбран Ctrl + G, как в Как расширить виджеты с изменением размера окна?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...