较长的字符串在 QPushButton 中看起来不太好,因为文本和按钮框架之间没有间距,即文本紧紧地放置在按钮内。有没有办法添加一些填充?
问问题
19108 次
3 回答
15
QPushButton
您可以通过其样式表设置 a 的填充。
myButton->setStyleSheet("padding: 3px;");
或者
myButton->setStyleSheet("padding-left: 5px; padding-right: 3px;"
"padding-top: 1px; padding-bottom: 1px;");
更多关于样式表的信息可以在这里找到。
于 2013-03-06T12:56:18.687 回答
6
不必为每个按钮设置样式表,我发现更新样式更容易,以便每个按钮的最小尺寸大一点。您可以将 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);
于 2013-12-12T00:24:55.270 回答
4
您可以设置窗口/小部件中所有按钮的填充:
QPushButton { padding: 10px; }
比应用于每个子小部件要好得多。
于 2017-02-22T07:12:11.150 回答