当前位置: 首页 > news >正文

赣榆网站建设xxiaoseo广西美丽乡村建设网站

赣榆网站建设xxiaoseo,广西美丽乡村建设网站,校园网站建设多少钱,前端网站开发框架1. QRadioButton 基本概念 用途:用于单选场景,同一分组中仅允许一个按钮被选中。 继承关系:继承自 QAbstractButton,支持按钮的通用特性(如点击事件、状态切换)。 默认行为:同一父容器下的多个…

1. QRadioButton 基本概念

  • 用途:用于单选场景,同一分组中仅允许一个按钮被选中。

  • 继承关系:继承自 QAbstractButton,支持按钮的通用特性(如点击事件、状态切换)。

  • 默认行为:同一父容器下的多个 QRadioButton 自动形成互斥组(排他性)。


2. 创建与分组

创建实例
QRadioButton *radio1 = new QRadioButton("Option 1", parentWidget);
QRadioButton *radio2 = new QRadioButton("Option 2", parentWidget);

手动分组

  • 方法 1:使用 QButtonGroup(推荐,灵活控制分组):
QButtonGroup *group = new QButtonGroup(parent);
group->addButton(radio1);
group->addButton(radio2);
  • 方法 2:放入同一父容器(如 QGroupBox 或 QWidget)中,利用默认排他性。

3. 信号与槽

常用信号:
  • toggled(bool checked):按钮选中状态变化时触发。

  • clicked():按钮被点击时触发(不关心状态变化)。

示例连接:
connect(radio1, &QRadioButton::toggled, [](bool checked) {if (checked) qDebug() << "Option 1 selected!";
});

4. 样式定制(QSS)

  • 通过 Qt 样式表自定义外观:
radio1->setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }""QRadioButton::indicator:checked { background-color: #FFA500; }"
);

5. 获取选中状态

  • 遍历检查:
for (auto btn : group->buttons()) {if (btn->isChecked()) {qDebug() << "Selected:" << btn->text();}
}
  • 直接获取(通过 QButtonGroup):
QAbstractButton *selected = group->checkedButton();
if (selected) qDebug() << "Selected:" << selected->text();

6. 常用方法

  • setChecked(true):默认选中。

  • isChecked():检查是否选中。

  • setText() / text():设置或获取显示文本。

  • setEnabled(false):禁用按钮。


7. 注意事项

  • 分组管理:跨父容器的按钮需通过 QButtonGroup 分组。

  • 默认选中:需手动调用 setChecked(true) 初始化选中状态。

  • 内存管理:建议设置父对象,利用 Qt 对象树自动释放内存。

  • 排他性:若需关闭自动互斥,使用 setAutoExclusive(false)(罕见需求)。


8. 完整示例

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QRadioButton>
#include <QButtonGroup>
#include <QDebug>int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget window;QVBoxLayout *layout = new QVBoxLayout(&window);QRadioButton *radio1 = new QRadioButton("Option 1");QRadioButton *radio2 = new QRadioButton("Option 2");radio2->setChecked(true); // 默认选中QButtonGroup group;group.addButton(radio1);group.addButton(radio2);layout->addWidget(radio1);layout->addWidget(radio2);QObject::connect(radio1, &QRadioButton::toggled, [&](bool checked) {if (checked) qDebug() << "Option 1 selected!";});window.show();return a.exec();
}
http://www.dtcms.com/a/562146.html

相关文章:

  • 3、电机控制——VF控制学习总结
  • 多表分页联查——EF Core方式和Dapper方式
  • 做网站要找什么公司信息门户网站制作费用
  • wordpress网站后缀网站开发文档网站
  • 营销单页网站模板网站建设 6万贵不贵
  • 体育西网站开发设计深圳市住房和建设局官网
  • 数据结构 10 二叉树作业
  • 网站建设视频教程 百度云如何做网站赚钱6
  • HTML5 测验
  • 沧州网站建设王宝祥wordpress能恢复修改前吗
  • 有没有专门做京东天猫的人才网站e4a能建设网站吗
  • Java记录类:简化数据载体的新选择
  • 郑州做网站开发销售潍坊做网站
  • C++—string(1):string类的学习与使用
  • 做一张网站专栏背景图网页设计模板网站
  • 关于企业网站建设的市场比质比价调查报告手机制作ppt的软件免费
  • 做外贸网站可以收付款吗电商网站建站
  • 响水专业做网站手机wap网站怎么做
  • 催收网站开发要看网的域名是多少
  • 怎么用ps做网站幻灯片做一个app的成本
  • 河南省台前县建设局网站织梦小说网站源码
  • 在线免费视频网站推广安卓小程序开发入门
  • 网站维护电话站长统计代码
  • 数学分析简明教程——2.3 (未完)
  • 计网5.3.3 TCP连接管理
  • 云南哪几个建网站公司甘肃做网站多少钱
  • verilog 中函数和任务的区别,举例说明
  • 网页制作与网站建设实战大全 pdf有名的软件开发公司
  • asyncio.get_running_loop() vs asyncio.get_event_loop() 作用与区别
  • 网站建设公司怎么挖掘客户房产网站建设方案论文