Qt 如何将QPushButton设置为垂直增长?
背景:我需要类控件。通常,我会使用Qt,但在这种情况下,我还需要支持从右到左的布局。遗憾的是,当通过Qt 如何将QPushButton设置为垂直增长?,qt,user-interface,Qt,User Interface,背景:我需要类控件。通常,我会使用Qt,但在这种情况下,我还需要支持从右到左的布局。遗憾的是,当通过setLayoutDirection显式设置时,QCommandLinkButton似乎不尊重Qt::RightToLeft。似乎也没有办法通过样式表覆盖布局方向 我试图通过使用QPushButton来解决这个问题:我实例化了QPushButton,并将其内容替换为包含两个垂直堆叠标签的自定义布局。这不起作用,因为QPushButton拒绝水平展开 未能使QPushButton实例工作,我决定尝试
setLayoutDirection
显式设置时,QCommandLinkButton
似乎不尊重Qt::RightToLeft
。似乎也没有办法通过样式表覆盖布局方向
我试图通过使用QPushButton
来解决这个问题:我实例化了QPushButton
,并将其内容替换为包含两个垂直堆叠标签的自定义布局。这不起作用,因为QPushButton
拒绝水平展开
未能使QPushButton
实例工作,我决定尝试对其进行子分类。无论我尝试了什么(覆盖sizeHint
,将垂直sizePolicy
设置为展开,resize
ing显式等),按钮都拒绝增长超过30像素高
如果我将QPushButton
更改为QWidget
,新的小部件将正常增长
问题:我如何强制一个
QPushButton
垂直增长并适应其内部小部件?如果这是不可能的,对于一个在视觉和行为上都与QPushButton
和其他“本机”控件一致的按钮状小部件,我的选项是什么?将按钮放置在布局中,并将其垂直大小策略设置为最大值
通过将最大高度设置为16777214(而不是默认的16777215),然后将按钮的内容边距设置为10,我成功地使按钮正常增长
令人困惑的是,QPushButton
的默认最大高度应该足够大,但出于某种原因,它拒绝超过30像素,除非最大高度明确设置为其他值。我正在使用Qt小部件在运行时动态生成我的用户界面。我发现的最接近的设置是我怀疑不相关的设置。我试过将限制设置为最大值,将无限制设置为不成功。这对您有帮助吗?