Qt — Получить имя иконки QPushButton

У меня есть два состояния QPushButton. Я хочу связать значок с каждым государством.

Это как кнопки Play | Pause в музыкальных проигрывателях.

Для этого я хотел бы получить имя текущей иконки, чтобы знать, какой будет следующая иконка для установки.

Я мог бы создать подкласс QPushButton, но стоит ли это того?

1

Решение

Используйте QPushButton :: icon () и QIcon :: name (), чтобы получить имя иконки.

0

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

Вместо установки значка на основе QPushButtonсостояние, установите один QIcon с двумя состояниями, Qt выберет правильный значок, если вы используете его с пометкой QPushButton,

QIcon icon = QIcon();
// 'Off' state corresponds to unchecked state of QPushButton
icon.addPixmap( QPixmap( ":/img/play.png" ), QIcon::Normal, QIcon::Off );
// 'On' state corresponds to checked state of QPushButton
icon.addPixmap( QPixmap( ":/img/pause.png" ), QIcon::Normal, QIcon::On );
QPushButton * button = new QPushButton();
button->setIcon( icon );
button->setCheckable( true );
7

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