2013-03-06 66 views

回答

5

您可以通过其样式表设置QPushButton的填充。在样式表

myButton->setStyleSheet("padding: 3px;"); 

或者

myButton->setStyleSheet("padding-left: 5px; padding-right: 3px;" 
"padding-top: 1px; padding-bottom: 1px;"); 

更多信息,可以发现here

+0

谢谢。有什么办法可以在Qt Designer中做到这一点? – 2013-03-06 12:58:33

+1

右键单击设计器中的按钮,然后尝试'更改styleSheet ...';-) – PrisonMonkeys 2013-03-06 13:01:34

5

与其为每个按钮设置样式表,我发现更容易更新样式,以便每个按钮的最小尺寸稍大。你也可以继承QProxyStyle这是修改样式最简单的方法,因为它适用于任何风格的选择,即QWindowsXPStyle,QWindowsVistaStyle变化,QMacStyle等

像这样覆盖sizeFromContents使按钮大一点的最小尺寸:

class ProxyStyle : public QProxyStyle 
{ 
public: 
    QSize sizeFromContents(ContentsType ct, const QStyleOption* opt, const QSize & csz, const QWidget* widget = 0) const 
    { 
     QSize sz = QProxyStyle::sizeFromContents(ct, opt, csz, widget); 
     if (ct == CT_PushButton) 
      sz.rwidth() += 20; 

     return sz; 
    } 
}; 

,然后创建后您的应用程序,但你创建第一个窗口调用之前:

a.setStyle(new ProxyStyle); 
1

您可以设置填充在一个窗口/控件与所有的按钮:

QPushButton { padding: 10px; } 

比应用于每个子组件要好得多。

+0

确实好多了! – 2018-02-22 16:13:02

相关问题