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】:
你不能。 QToolButton
(QPushButton
)也没有这样的属性。这些按钮的所有属性都在documentation 中。
您可以做的一件事是创建自己的类,继承自QToolButton
并覆盖paintEvent()。在此功能中,您将手动放置您的图标。
这是最短的解决方案,但如果你足够勇敢,还有更长的路径,比如直接创建自己的按钮子类QWidget
(但在这种情况下,你需要实现它的所有行为)。
【讨论】:
非常感谢。我只是从一个小空格开始文本。我的意思是,我将文本“某物”更改为“某物”。这暂时解决了我的问题。我希望我不必创建/覆盖某些东西。 :) 请注意,如果您有多个按钮,则必须在每个按钮上写空格^^ 再次感谢。我为此写了一个简单的函数。 您还可以为QToolButton
编写一个子类,覆盖其setText
方法以附加前导空格。以上是关于QToolButton 文本和图标之间的空间的主要内容,如果未能解决你的问题,请参考以下文章
带有文本的 QToolButton:覆盖最小高度以模仿常规按钮高度