在Qt中如何让triggered(bool checked=false)的checked参数变为true

配置方法
- 核心要求是给按钮关联的
QAction开启可选中属性,两种配置方式如下:- Qt Designer配置:在右侧属性列表中找到对应Action的
checkable选项,直接勾选即可。开启后按钮会自动在选中、未选中状态间切换,triggered信号的checked参数会同步返回当前的实际状态 - 代码配置:创建
QAction后调用setCheckable(true)方法,示例代码:// 创建Action QAction *toolBtnAction = new QAction("功能按钮", this); // 开启可选中属性,核心配置 toolBtnAction->setCheckable(true); // 可选:设置默认选中状态 toolBtnAction->setChecked(true); // 绑定信号槽 connect(toolBtnAction, &QAction::triggered, this, [=](bool checked){ // 此处checked会返回当前按钮的真实选中状态 qDebug() << "按钮选中状态:" << checked; }); // 添加到工具栏 ui->toolBar->addAction(toolBtnAction);
- Qt Designer配置:在右侧属性列表中找到对应Action的
- 如果你是直接创建
QToolButton实例而非通过Action关联的场景,直接给按钮调用setCheckable(true)即可,信号参数会同步生效。
内容的提问来源于stack exchange,提问作者CkCool
相关产品推荐
相关产品推荐

