「Qtのコントロール - ラジオボタン」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == Qtにおいて、<code>QRadioButton</code>クラスを使用してラジオボタンをコントロールする手順を記載する。<br> <br><br> == ラ…」)
 
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
52行目: 52行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]

2024年10月14日 (月) 10:58時点における版

概要

Qtにおいて、QRadioButtonクラスを使用してラジオボタンをコントロールする手順を記載する。


ラジオボタンの状態の取得

以下の例では、グループボックス内で選択されているラジオボタンの状態を取得している。

 QRadioButton* MainWindow::SelectRadio(QGroupBox *group)
 {
    QList<QRadioButton *> list = group->findChildren<QRadioButton *>();
 
    for(int i = 0; i < list.size(); i++)
    {
       if(list.at(i)->isChecked())
       {
          return list.at(i);
       }
    }
 
    return static_cast<QRadioButton*>(0);
 }
 
 // ラジオボタンを状態を取得する
 // btnがNULLの場合、グループボックス内の全てのラジオボタンが未入力である
 QRadioButton* btn = SelectRadio(group);
 if(btn)
 {
    qDebug() << btn->text();  // 選択されているラジオボタンのテキストを出力
 }



ラジオボタンを未入力にする

以下の例では、グループボックス内で入力されているラジオボタンを未入力の状態にしている。

 void MainWindow::ClearRadio(QGroupBox* group)
 {
    QList<QRadioButton*> list = group->findChildren<QRadioButton*>();
 
    foreach(QRadioButton* radio, list)
    {
       if(radio->isChecked())
       {
          radio->setAutoExclusive(false);  // AutoExclusiveを無効にすることにより、ラジオボタンの状態が変更できる
          radio->setChecked(false);
          radio->setAutoExclusive(true);
 
          break;
        }
    }
 }