Qt 开发注意事项

使用 PyQt 5.11 开发时(版本不同也需要特别注意)

使用 QSlider 的时候进行如下操作

  1. 使用 setValue() 会触发 valueChanged 事件
  2. 默认最大值是 99,直接设置大于 99 的值,仍然是 99,所以需要事先设置一个 maximum
  3. 当更改最大值最小值的时候需要特别注意,如果原本 QSlider 的值超出了新设置的值域,也会触发 valueChanged 事件。

这些隐式地触发 valueChanged 事件,可能会让程序大部分时间是正常的,比较复杂,难以调试。我们可以使用一些技巧避免发生这样的情况

解决办法

  1. 一旦 QSlider 的值域设置好了,尽量不要修改
  2. 如果一定要修改,务必小心,可在进行操作前断开信号槽连接,避免发送多余的信号。