1

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

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

但是,它出现在向左移动的屏幕上(为方便起见放大了图像):

一个合理错位的图标

Gimp 中的一些眯眼告诉我,左边的灰色区域放大了 56 像素,右边的灰色区域放大了 68 像素。即使没有缩放,这种错位也非常明显——这就是我最初发现它的方式。那么,如何让这个图标居中呢?

PS 尝试使用QPushButton无文本。一样的效果。

4

1 回答 1

0

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

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

这会将您的偶数大小的图标增加为奇数大小,因此不会居中。我不确定为什么要添加 3,但评论表明它可以解决某些问题……不幸的是,这并不能解决问题,它只是解释了它的来源。但这可能会帮助某人找到比“使所有图标都变大”更好的解决方案。

于 2017-08-02T11:02:16.620 回答