附件是我的问题的 QT Designer 示例。我的目标是让里面的任何内容(特别是 lineEdit)扩展到 QTabWidget 的最右边。
如果您注意到我在图片中选择了选项卡,它说当前没有布局(如上面的红色禁止吸烟符号所示)。 当我尝试使用选项卡上方的按钮向其添加布局时(水平、垂直、网格、表单等...),无论我做什么都不会更改选项卡布局,但改为更改最顶层的小部件布局,这是我不想要的,因为这使 QTabWidget 能够接受任何大小的窗口。
我尝试为选项卡中的元素提供水平和垂直布局,认为这可能有效,但如我的下一张图片所示,它也不起作用。我的预感是因为该选项卡没有布局,其中的任何布局都不会得到尊重。
感谢任何帮助。我已经花了好几个小时,但我一辈子都弄不明白...!
下面是 UI XML:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>xMarket</class>
<widget class="QWidget" name="xMarket">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>737</width>
<height>421</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTabWidget" name="xMarketTabWidget">
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Tab 1</string>
</attribute>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>240</x>
<y>30</y>
<width>113</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>150</x>
<y>30</y>
<width>59</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Search:</string>
</property>
</widget>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
最佳答案
要在选项卡上设置布局,首先需要选择其父选项卡小部件。
您可以通过在对象Inspector中的名称中选择它来执行此操作(即,在示例中单击 xmarkettabwidget
),或者只需单击其选项卡栏中的适当标签。父选项卡小部件周围必须有一个选择矩形,然后您才能在其中一个选项卡上设置布局。
完成后,您可以单击设计器工具栏上的“水平布局”或“在网格中布局”按钮来为您的选项卡设置适当的布局。但请注意,在您可以在其上设置布局之前,一个选项卡必须至少有一个子小部件 - 对于空选项卡,布局按钮将全部禁用。
关于c++ - QTabWidget 内容不展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446113/