QToolButton 文本和图标之间的空间

Posted

技术标签:

【中文标题】QToolButton 文本和图标之间的空间【英文标题】:QToolButton Space Between Text and Icon 【发布时间】:2016-05-30 08:46:50 【问题描述】:

我有一个 QToolButton。我希望文本和图标出现在上面。我通过 setToolButtonStyle(Qt::ToolButtonTextBesideIcon) 设置按钮样式。

但是图标和文字是如此接近。有没有办法通过css在图标和文本之间留出一些空间?

【问题讨论】:

也许尝试在 css 中使用 Padding: w3schools.com/css/css_padding.asp ?我认为你应该add padding-top: value px; 您可以使图标更宽,因为它们可以是具有透明度的 png。如果你让它们都等宽,它们甚至可以很好地垂直对齐。 【参考方案1】:

你不能。 QToolButtonQPushButton)也没有这样的属性。这些按钮的所有属性都在documentation 中。

您可以做的一件事是创建自己的类,继承自QToolButton 并覆盖paintEvent()。在此功能中,您将手动放置您的图标。

这是最短的解决方案,但如果你足够勇敢,还有更长的路径,比如直接创建自己的按钮子类QWidget(但在这种情况下,你需要实现它的所有行为)。

【讨论】:

非常感谢。我只是从一个小空格开始文本。我的意思是,我将文本“某物”更改为“某物”。这暂时解决了我的问题。我希望我不必创建/覆盖某些东西。 :) 请注意,如果您有多个按钮,则必须在每个按钮上写空格^^ 再次感谢。我为此写了一个简单的函数。 您还可以为QToolButton 编写一个子类,覆盖其setText 方法以附加前导空格。

以上是关于QToolButton 文本和图标之间的空间的主要内容,如果未能解决你的问题,请参考以下文章

带有文本的 QToolButton:覆盖最小高度以模仿常规按钮高度

修复 QToolButton 图标

QToolButton按钮

QToolButton 工具按钮

更改 QPushbutton 或 QToolbutton 的图标

PyQt5 之QToolButton工具按钮