Когда я создаю QPushButton со значком, он по умолчанию отображает текст справа от значка. Есть ли способ отображения текста под значком?
Qt QPushbutton Иконка выше Текст
Ответ 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
.