2つの状態のQPushButtonがあります。各状態にアイコンを関連付けたい。
これは、音楽プレーヤーの[再生]|[一時停止]ボタンのようなものです。
そのために、次に設定するアイコンを知るために、現在のアイコン名を取得したいと思います。
QPushButtonをサブクラス化できますが、それだけの価値はありますか?
2つの状態のQPushButtonがあります。各状態にアイコンを関連付けたい。
これは、音楽プレーヤーの[再生]|[一時停止]ボタンのようなものです。
そのために、次に設定するアイコンを知るために、現在のアイコン名を取得したいと思います。
QPushButtonをサブクラス化できますが、それだけの価値はありますか?
QPushButton
の状態に基づいてアイコンを設定する代わりに、QIcon
2つの状態を持つアイコンを設定します。チェック可能なアイコンを使用すると、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 );
QPushButton::icon() と QIcon::name() を使用してアイコン名を取得します。