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();  
    

    }

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

相关推荐
Bruce小鬼25 分钟前
QT创建按钮篇
开发语言·qt
martian6652 小时前
QT开发:掌握现代UI动画技术:深入解析QML和Qt Quick中的动画效果
开发语言·c++·qt·ui
墨染新瑞4 小时前
两个有趣的小东西(qt和类型转换)
开发语言·网络·qt
Bruce小鬼5 小时前
解决MAC安装QT启动项目不显示窗口问题
开发语言·qt·macos
云雨歇8 小时前
Qt学习笔记(三)网络编程
笔记·qt·学习
QGC二次开发17 小时前
QML项目实战:自定义Combox
qt·qml·自定义控件·combox
小c君tt17 小时前
QT中QML学习笔记2
笔记·qt·学习
码农客栈17 小时前
qt QFileInfo详解
qt
长沙红胖子Qt17 小时前
OpenCV开发笔记(八十二):两图拼接使用渐进色蒙版场景过渡缝隙
qt·opencv·缝隙拼接·渐近过渡·图像蒙版融合
Ayka18 小时前
Linux Qt 6安装Oracle QOCI SQL Driver插件(适用WSL)
linux·sql·qt·oracle·oci