我创建了自定义小部件,其中包含水平布局的按钮。
但是按钮没有正确放置并缩小。
我可以通过手动设置按钮大小来避免这种情况。 有没有办法自动避免这种行为?
.ui XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>VideoPlaybackWidgetBase</class>
<widget class="QWidget" name="VideoPlaybackWidgetBase">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>790</width>
<height>58</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>1</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>58</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QFrame" name="horizontalFrame">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="moveFirstButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="movePrevButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="playButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="moveNextButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="moveLastButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
&#13;
答案 0 :(得分:0)
我在XML中看到Maximum
大小政策。转到按钮&#39; Designer中的属性,并将大小策略更改为Expanding
。还要确保按钮宽度相同(或者如果您需要不同的宽度按钮,则使用正确的比例)。
或者,您可以保留Maximum
政策,只需将宽度增加到您想要的最大按钮宽度,如2000,以允许10000像素宽的未来显示...有很多方法可以实现所需的上浆行为。选择最能描述您想要的内容,在这种情况下可能是MinimumExpanding
。
请参阅QSizePolicy
docs。