qt - 如何在 PyQt GUI 中发出延迟信号?

标签 qt user-interface pyqt signals-slots

在我的 PyQt GUI 应用程序中,有很多旋转框在其值更改时触发冗长的设置例程。

我的问题是: 输入(大)数字时,每次输入一个数字时都会发出 spinBox.valueChanged() 信号。这导致设置函数被调用的次数超过必要的次数。

有没有办法延迟触发,直到我输入完数字然后只触发一次信号? 您通常如何处理 GUI 中的这个问题?

我找到了 this但我认为这将涉及为每个我想在发射时调用的独特功能创建一个额外的计时器。这看起来不太优雅。

最佳答案

对于旋转框,有 keyboardTracking属性(property)。

如果禁用键盘跟踪,旋转框在输入时不会发出 valueChanged() 信号。它稍后发出信号,当按下返回键时,当键盘焦点丢失时,或者当使用其他旋转框功能时,例如按箭头键。

我相信这可以解决您的问题。

关于qt - 如何在 PyQt GUI 中发出延迟信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37361241/

相关文章:

c++ - 检查进程是否正在运行 - Windows

python - Tkinter 按标签主动填充

c# - 如何在 .NET 3.5 中每 2 分钟调用一次 UserControl 中的函数

python - 使qt日历箭头变大

c++ - 您可以使用 Qt foreach 循环遍历每个可能的枚举值吗?

c++ - STM32 从 PC 通过 USB float ,endianess 挣扎

python - 使用Pycharm调试PyQt gui时出现奇怪的错误

python - 将数据库中的所有纬度和经度标记放置到来自 sql 结果的 Openstreet/Leaflet map 上

c++ - QT 在单独的线程中管理 OpenGL 上下文

java - GUI设计中的一些问题