如何在QToolButton中居中图标?

时间:2017-02-02 15:16:57

标签: c++ qt qtoolbutton

我创建了一个简单的10x10黑盒子并将其添加到QToolButton,如下所示:

QIcon minIcon;
minIcon.addFile("c:/tmp/black10x10.png");
minButton = new QToolButton;
minButton->setIcon(minIcon);

然而,它在屏幕上显示左移(为方便起见放大了图像):

a reasonably misaligned icon

Gimp的一些眯眼告诉我,左边的灰色区域是56像素缩放,右边的灰色区域是68.即使没有缩放,这种错位也非常明显 - 这就是我在第一时间发现它的方式。那么,我该如何将这个图标居中?

P.S。尝试使用QPushButton没有文字。同样的效果。

1 个答案:

答案 0 :(得分:0)

现在可能有点晚了,但我遇到了同样的问题,在QT中发现了以下代码片段 qstylesheet.cpp

case CT_ToolButton:
        if (rule.hasBox() || !rule.hasNativeBorder() || !rule.baseStyleCanDraw())
            sz += QSize(3, 3); // ### broken QToolButton

这会使你的偶数大小的图标变得奇怪,因此不会居中。我不确定为什么会增加3,但是评论表明它可以解决问题...... 不幸的是,这并没有解决问题,它只是解释了它的来源。但它可能有助于找到一个更好的解决方案,而不是让你的所有图标变得奇怪......#/ p>