Qtをメインに、プログラムやITに関する情報を発信

Qtの戯言

QPushButton

QPushButtonでトグルボタンを作る

更新日:

先に結論

QPushButtonのcheckableプロパティをtrueにすればOK。

 

サンプル

ボタンを配置して、checkableにチェックを入れます。

左が非押下状態、右が押下状態。

 

スロット関数

配置したボタンを右クリック→「スロットへ移動」より、「clicked(bool)」または「toggled(bool)」を選ぶと、スロット関数が作成できます。

UI操作によってボタンを押下する場合、clicked(bool)もtoggled(bool)も同じように呼び出されます。
コードから操作する場合は、若干の違いがあります。

setChecked()

ui->pushButton->setChecked(true);

toggled(bool)は呼び出されるが、clicked(bool)は呼び出されない。

親ボタン「1」、子ボタン「1-1」「1-2」「1-3」があり、
1.親ボタンを押下すると、子ボタンを全て押下状態にする
2.親ボタンが押下されていない状態で、子ボタンが全て押下されると、親ボタンも押下状態にする
ような場合の2で、親ボタンの押下状態だけを変える時など。

click()

ui->pushButton->click();

toggled(bool)もclicked(bool)も呼び出される。
=UI操作でボタンを押下したのと同様。

スタイルシートに関しては、また別の記事にて。

-QPushButton
-, ,

Copyright© Qtの戯言 , 2020 All Rights Reserved Powered by STINGER.