Как центрировать иконку в QToolButton?

Я создал простой черный ящик 10х10 и добавил его в QToolButton следующее:

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

Тем не менее, он появляется на экране смещенным влево (изображение увеличено для удобства):

разумно смещенная иконка

Некоторые косоглазие в Gimp сказали мне, что серая область слева увеличена на 56 пикселей, а серая область справа — 68. Это смещение очень заметно даже без зума — именно так я и заметил. Итак, как мне отцентрировать эту иконку?

Постскриптум Попробовал с помощью QPushButton без текста. Тот же эффект.

1

Решение

Возможно, сейчас немного поздно, но я наткнулся на ту же проблему и нашел следующий фрагмент кода в QT qstylesheet.cpp

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

Это увеличило бы ваш значок четного размера до нечетного размера и, следовательно, не по центру. Я не уверен, почему есть дополнение 3, но комментарий предполагает, что это исправление для чего-то …
К сожалению, это не решает проблему, а просто объясняет ее источник. Но это может помочь кому-то найти лучшее решение, чем «сделать все ваши иконки нечетными по размеру».

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]