背景:我需要类似Command Link的控件。通常,我会使用Qt的builtin QCommandLinkButton
,但是在这种情况下,我还需要支持从右到左的布局。遗憾的是,通过QCommandLinkButton
进行显式设置时,Qt::RightToLeft
似乎并不尊重setLayoutDirection
。似乎也没有办法通过样式表覆盖布局方向。
我尝试使用QPushButton
来解决此问题:我实例化了QPushButton
并将其内容替换为包含两个垂直堆叠标签的自定义布局。这没有用,因为QPushButton
拒绝水平扩展。
由于无法使QPushButton
实例正常工作,我决定尝试对其进行子分类。无论我尝试了什么(覆盖sizeHint
,将垂直sizePolicy
设置为展开,resize
显式等等),按钮都拒绝将高度增加30像素以上。
如果我将QPushButton
更改为QWidget
,则新窗口小部件会正常增长。
问题:如何强制QPushButton
垂直生长并适合其内部小部件?如果无法做到这一点,那么对于与QPushButton
和其他“本地”控件在视觉和行为上都一致的按钮式小部件,我有什么选择?