我有两个状态QPushButton。我想将一个图标与每个州相关联。
就像音乐播放器中的播放|暂停按钮一样。
为此,我想获取当前的图标名称,以便了解下一个要设置的图标。
我可以继承QPushButton,但它值得吗?
答案 0 :(得分:7)
不是根据QPushButton
的状态设置图标,而是设置一个具有两种状态的QIcon
,如果您使用带有可检查的QPushButton
,Qt将选择正确的图标
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 );
答案 1 :(得分:0)
使用QPushButton :: icon()和QIcon :: name()获取图标名称。