OneGuy Asked:2021-11-12 01:25:01 +0000 UTC2021-11-12 01:25:01 +0000 UTC 2021-11-12 01:25:01 +0000 UTC 程序主要组件的Qt布局 772 我想弄清楚如何在网格上显示主要组件。基本上一切都显示在图片中。有一个标题 - 程序的上部,水平变化时可以拉伸。表单的主要部分(也很灵活,在中间),其中已经显示了文本输入字段和按钮。帮我弄清楚如何将标题和正文放在程序窗口中。 qt 1 个回答 Voted Best Answer Sergey Tatarincev 2021-11-12T15:58:55Z2021-11-12T15:58:55Z 有很多选择。也许像这样 <?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>731</width> <height>450</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralWidget"> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QFrame" name="frameHeader"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="styleSheet"> <string notr="true">background-color: red</string> </property> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>312</width> <height>20</height> </size> </property> </spacer> </item> <item> <widget class="QLabel" name="label"> <property name="text"> <string>Заголовок</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>312</width> <height>20</height> </size> </property> </spacer> </item> </layout> </widget> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_Main"> <item> <widget class="QFrame" name="frame_left"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>1</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="frameShape"> <enum>QFrame::StyledPanel</enum> </property> <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> </widget> </item> <item> <widget class="QFrame" name="frame_Main"> <property name="sizePolicy"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimumSize"> <size> <width>300</width> <height>300</height> </size> </property> <property name="styleSheet"> <string notr="true">background-color: blue</string> </property> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> </widget> </item> <item> <widget class="QFrame" name="frame_right"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>1</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="frameShape"> <enum>QFrame::StyledPanel</enum> </property> <property name="frameShadow"> <enum>QFrame::Raised</enum> </property> </widget> </item> </layout> </item> </layout> </widget> <widget class="QMenuBar" name="menuBar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>731</width> <height>21</height> </rect> </property> </widget> <widget class="QToolBar" name="mainToolBar"> <attribute name="toolBarArea"> <enum>TopToolBarArea</enum> </attribute> <attribute name="toolBarBreak"> <bool>false</bool> </attribute> </widget> <widget class="QStatusBar" name="statusBar"/> </widget> <layoutdefault spacing="6" margin="11"/> <resources/> <connections/> </ui>
有很多选择。也许像这样