У меня есть два состояния QPushButton. Я хочу связать значок с каждым государством.
Это как кнопки Play | Pause в музыкальных проигрывателях.
Для этого я хотел бы получить имя текущей иконки, чтобы знать, какой будет следующая иконка для установки.
Я мог бы создать подкласс QPushButton, но стоит ли это того?
Используйте QPushButton :: icon () и QIcon :: name (), чтобы получить имя иконки.
Вместо установки значка на основе 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 );