Подтвердить что ты не робот

Qt QPushbutton Иконка выше Текст

Когда я создаю QPushButton со значком, он по умолчанию отображает текст справа от значка. Есть ли способ отображения текста под значком?

4b9b3361

Ответ 1

Если вы в состоянии, проще всего использовать QToolButton:

QToolButton* button = new QToolButton(this);
button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
button->setIcon(myIcon);
button->setText("Sample text");

Если это не вариант, вы можете подумать о создании своего собственного виджета кнопки, возможно, полученного из QPushButton или QAbstractButton. В этом случае вы, вероятно, (я сам не пробовал) хочу сосредоточить большинство ваших усилий на переопределении paintEvent().

[Edit: прочитайте комментарии для альтернатив, которые, вероятно, проще, чем это)

Ответ 2

QPushButton {
    padding: -25px 0 10px 0;
    border: 1px solid black;
    border-radius: 2px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-origin: content;
    background-image: url(":/new/resource/accept.png");
 }
QPushButton:disabled {
    background-image: url(":/new/resource/accept_b.png");
 }

Ответ 3

Используйте Qt Creator, а в нижней части нижней панели вы увидите опцию 'textFormat', в которой выберите ToolButtonTextUnderIcon.