qt QRadioButton详解

**QRadioButton**是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选按钮通常呈现给用户一个"多选一"的选择,即在一组单选按钮中,一次只能选中一个按钮。

重要方法

  • QRadioButton(QWidget* parent = nullptr):默认构造函数。
  • QRadioButton(const QString& text, QWidget* parent = nullptr):使用指定的文本创建单选按钮。
  • void setText(const QString& text):设置单选按钮显示的文本。
  • void setChecked(bool checked):设置单选按钮的选中状态,true为选中,false为未选中。
  • bool isChecked() const:返回单选按钮的选中状态,如果选中则返回true,否则返回false。
  • void setIcon(const QIcon& icon):设置单选按钮显示的图标。
  • void setShortcut(const QKeySequence& shortcut):设置单选按钮的快捷键。

重要信号

  • toggled(bool checked):当单选按钮切换选中状态时发射,参数为是否选中。

  • clicked(bool checked):当单选按钮被点击时发射,参数为是否选中。

    #include <QApplication>
    #include <QWidget>
    #include <QHBoxLayout>
    #include <QRadioButton>
    #include <QButtonGroup>

    int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    复制代码
      // 创建主窗口  
      QWidget window;  
      window.setWindowTitle("RadioButton 示例");  
    
      // 创建水平布局  
      QHBoxLayout* layout = new QHBoxLayout(&window);  
    
      // 创建按钮组  
      QButtonGroup* buttonGroup = new QButtonGroup(&window);  
    
      // 创建三个单选按钮  
      QRadioButton* radioBtn1 = new QRadioButton("选项1");  
      QRadioButton* radioBtn2 = new QRadioButton("选项2");  
      QRadioButton* radioBtn3 = new QRadioButton("选项3");  
    
      // 默认设置第一个单选按钮选中  
      radioBtn1->setChecked(true);  
    
      // 将单选按钮添加到按钮组中  
      buttonGroup->addButton(radioBtn1);  
      buttonGroup->addButton(radioBtn2);  
      buttonGroup->addButton(radioBtn3);  
    
      // 将按钮组的 exclusive 属性设置为 true, 确保只能选中一个选项  
      buttonGroup->setExclusive(true);  
    
      // 将单选按钮添加到布局中  
      layout->addWidget(radioBtn1);  
      layout->addWidget(radioBtn2);  
      layout->addWidget(radioBtn3);  
    
      // 设置主窗口的布局  
      window.setLayout(layout);  
    
      // 显示主窗口  
      window.show();  
    
      return app.exec();  

    }

觉得有帮助的话,打赏一下呗。。

相关推荐
happyjoey2171 天前
使用Qt自带的Maintenance Tool将Qt6.9升级为QT6.10
开发语言·qt
lqj_本人1 天前
鸿蒙Qt生命周期:后台被杀后的数据自救
qt·华为·harmonyos
爱码小白2 天前
PyQt5 QTimer总结
开发语言·qt
Jay Chou why did2 天前
13. Qt深入 样式表继承规则
qt
友友马2 天前
『Qt』多元素控件
开发语言·qt
共享家95272 天前
QT-界面优化(中)
开发语言·qt
luoyayun3612 天前
Qt/C++ 线程池TaskPool与 Worker 框架实践
c++·qt·线程池·taskpool
共享家95272 天前
QT-界面优化(下)
开发语言·数据库·qt
2739920292 天前
生成二维码 QRCode (QT)
开发语言·qt
火山灿火山2 天前
初识Qt(使用不同中方式创建helloworld)
开发语言·qt