qtoolbutton将里面的图标放大调用seticonsize函数怎么没有用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qtoolbutton将里面的图标放大调用seticonsize函数怎么没有用相关的知识,希望对你有一定的参考价值。
参考技术A 使用QToolButton可以做到。QToolButton * pb = new QToolButton(this);
pb->setTextLabel("音量设置");
pb->setIconSet(QPixmap("info.png"));
pb->setUsesTextLabel(true);
pb->setTextPosition(QToolButton::BelowIcon);本回答被提问者采纳 参考技术B seticonsize只是设置了里面icon的大小,没有改变按钮的大小
要想改变只能,通过 resize函数改变
QToolButton * btn = new QToolButton;
btn->resize(QSize(300,200));
QToolButton 文本和图标之间的空间
【中文标题】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将里面的图标放大调用seticonsize函数怎么没有用的主要内容,如果未能解决你的问题,请参考以下文章
更改 QPushbutton 或 QToolbutton 的图标