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

20.QT QPushButton 全部信号详解

QPushButton,所有按钮信号都继承自父类QAbstractButton,另外还继承QWidgetQObject的通用信号。

一、按钮核心业务信号(最常用,来自 QAbstractButton)

1.void clicked(bool checked = false)

  • 触发:鼠标在按钮内按下+松开、快捷键触发、代码调用click()/animateClick()
  • 参数:按钮设置setCheckable(true)时,checked代表当前选中状态;普通按钮参数默认无意义
connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::onClick);

2.void pressed()

  • 触发:鼠标左键刚按下按钮瞬间,还没松开就触发
  • 适用场景:长按功能、按住持续执行操作(如拖动、连续加减数值)
connect(ui->pushButton, &QPushButton::pressed, this, &MainWindow::onPressed);

3.void released()

  • 触发:鼠标左键松开按钮时触发(无论按下后鼠标是否移出按钮区域)
  • 适用场景:按住松手后收尾逻辑

4.void toggled(bool checked)

  • 触发:仅可选中按钮(setCheckable(true))切换选中/取消状态时触发
  • clicked区别:clicked每次点击都会发;toggled只有状态真的改变才会发
  • 参数checked:true=选中,false=取消选中
ui->pushButton->setCheckable(true); // 开启可切换 connect(ui->pushButton, &QPushButton::toggled, this, &MainWindow::onToggle);

二、继承自 QWidget 的通用界面信号(按钮也能用)

  1. void customContextMenuRequested(const QPoint &pos)
    右键点击按钮时触发,pos 是鼠标坐标,用于弹出右键菜单。
  2. void windowTitleChanged(const QString &title)
    窗口标题变化(按钮自身无窗口,基本不用)
  3. void windowIconChanged(const QIcon &icon)
  4. 鼠标/焦点类通用信号(所有控件都有):
    • void enterEvent()/void leaveEvent()鼠标移入/移出
    • void focusInEvent()/focusOutEvent()获取/失去焦点

三、继承自 QObject 的生命周期信号

void destroyed(QObject *obj = nullptr)
按钮对象被销毁时触发,用于资源清理。

四、信号使用场景对比

信号

使用场景

clicked()

绝大多数普通点击功能(弹窗、提交、跳转)

pressed()

长按连续操作、按下瞬间反馈

released()

松手后执行逻辑

toggled()

开关按钮、复选式按钮(开启/关闭功能)

连接示例

// 按下瞬间 connect(ui->pushButton, &QPushButton::pressed, this, [=](){ qDebug() << "按钮被按住了"; }); // 松开 connect(ui->pushButton, &QPushButton::released, this, [=](){ qDebug() << "松开按钮"; }); // 开关按钮状态切换 ui->pushButton->setCheckable(true); connect(ui->pushButton, &QPushButton::toggled, this, [=](bool ck){ if(ck) qDebug() << "开启"; else qDebug() << "关闭"; });
http://www.jsqmd.com/news/1033792/

相关文章:

  • 2026年可靠的温州生鲜冷链标签贴纸定制/温州食品商标贴纸定制/卷筒标签贴纸多家厂家对比分析 - 品牌宣传支持者
  • 如何快速掌握ExtractorSharp:游戏资源编辑的终极免费工具
  • 从“防不住”到“拿得回”:拆解防勒索病毒的核心技术逻辑
  • 低漏电<1μA:HT4088HA充电芯片待机功耗表现与防倒灌性能解读
  • 终极免费音乐解锁工具:如何在浏览器中一键解密所有加密音乐格式 [特殊字符]
  • DouyinLiveRecorder实战指南:掌握多平台直播录制的高效方案
  • 2026年正规的储能电池新能源电池箱体翻转组装线/机器人新能源电池箱体翻转组装线公司选择指南 - 品牌宣传支持者
  • 2026年6月诚信的废气治理工程厂商推荐,废气处理工程/工业废气处理/废气治理工程,废气治理工程生产厂家推荐分析 - 品牌推荐师
  • 老房翻新闭口合同避坑指南:基于涡阳建强装饰的0增项技术拆解
  • 编写分红到账自动再投入程序,股息入账后自动等额申购原有标的。
  • 2026年诚信的花生油/烟台脱红衣冷榨清香花生油厂家对比推荐 - 品牌宣传支持者
  • 8大网盘直链下载终极指南:告别限速的完整解决方案
  • 抖音批量下载工具:专业级无水印视频采集解决方案
  • CodeWarrior IDE 5.9 偏好设置深度解析:从编译加速到调试优化
  • 2026年有实力的宁波木工工具工作台/宁波家用木工工作台多家厂家对比分析 - 行业平台推荐
  • 【TEE从入门到精通及实战】24 远程证明:当两个Enclave要“握手”,如何证明你是你?
  • WarcraftHelper完整指南:让经典魔兽争霸3在现代电脑上完美运行的终极解决方案
  • 阿贝尔群表示理论中的极限行为与张量幂分析
  • 华硕笔记本色彩配置文件修复终极指南:5步让屏幕恢复出厂级显示效果
  • 2026年优秀的动力电池新能源电池箱体翻转组装线/机器人新能源电池箱体翻转组装线/昆山流水线式新能源电池箱体翻转组装线/昆山180 度新能源电池箱体翻转组装线深度厂家推荐 - 行业平台推荐
  • 2026年优秀的外卖封口贴纸定做/医药专用标签贴纸厂家精选合集 - 行业平台推荐
  • 3步解锁Spotube:重塑免费音乐体验的开源神器
  • 2026年热门的海南三亚专业膜结构/海南遮阳膜结构工程公司对比推荐 - 品牌宣传支持者
  • 台州和风宠物医院价格到底贵不贵,我把几家的花费做了个对比
  • DeepSeek V4 Pro定价重构:缓存降价与2.5折背后的推理成本优化逻辑
  • 昆仑万维天工3.1上线:Skywork Design与Dynamic Workflows革新设计与任务调度
  • 外墙防爆窗预埋钢框抗拔承载力施工及锚固结构技术研究
  • 供应链成本函数:用经济学思维重构机器学习损失函数
  • 珠三角企业选材指南:深圳东莞周边HC-276合金优质供应商盘点 - 品牌2026
  • 2026年靠谱的昆山倍速链/昆山自动化倍速链/昆山输送线倍速链/昆山单层倍速链精选厂家推荐 - 行业平台推荐