在QPushButton中,较长的字符串看起来不太好,因为文本和按钮的框架之间没有间距,i。即文本紧紧地放在按钮内。有没有办法添加一些填充?
答案 0 :(得分:9)
您可以通过其样式表设置QPushButton
的填充。
myButton->setStyleSheet("padding: 3px;");
或者
myButton->setStyleSheet("padding-left: 5px; padding-right: 3px;"
"padding-top: 1px; padding-bottom: 1px;");
有关样式表的更多信息,请访问here。
答案 1 :(得分:6)
我没有为每个按钮设置样式表,而是更容易更新sytle,以便每个按钮的最小尺寸更大一些。你可以继承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);
答案 2 :(得分:2)
您可以使用以下命令为窗口/小部件中的所有按钮设置填充:
QPushButton { padding: 10px; }
比应用于每个子小部件要好得多。