当前位置: 首页 > 网络知识

Qt blockSignals

时间:2026-01-29 09:26:18

有时我们需要,控件不接收信号,可以使用 blockSignals

当设置为true时,QObject对象[子类]不会发出信号

1、函数原型

1 bool QObject::blockSignals(bool block) 2 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). If block is false, no such blocking will occur. 3 The return value is the previous value of signalsBlocked(). 4 Note that the destroyed() signal will be emitted even if the signals for this object have been blocked. 5 Signals emitted while being blocked are not buffered. 6 See also signalsBlocked() and QSignalBlocker.

2.使用说明

例如:

QCboBox动态添加item的时候,它会发出xxxChanged信号,但是初始情况下我们不希望其发出,待初始化完成后再发出。

则可以:

先设置blockSignals(true);//阻塞信号

添加item;

设置blockSignals(false);//取消信号阻塞

example:

1 m_ControlsboBox>blockSignals(true); 2 m_ControlsboBox>addItems( AngleList()); 3 m_ControlsboBox>setCurrentIndex(0);//45度 4 m_ControlsboBox>blockSignals(false);



上一篇:数控系统中的模态指令
下一篇:Captura 下载安装及在Captura配置FFmpeg(录屏软件)
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素