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】:

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

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

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

【讨论】:

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

以上是关于qtoolbutton将里面的图标放大调用seticonsize函数怎么没有用的主要内容,如果未能解决你的问题,请参考以下文章

QToolButton - 图标顶部的文本

更改 QPushbutton 或 QToolbutton 的图标

QToolButton 文本和图标之间的空间

如何使 QToolButton 中的图标居中?

QT学习之如何在QToolBar中添加带图标的QToolButton并设置图标大小

QToolButton 工具按钮