我在QSpinbox和QSlider之间建立关系。
QSpinbox的范围是-10.0到10.0,而QSlider的范围是-100到100.
所以,QSlider除以10的值连接到QSpinbox,反之亦然。
我互相使用“valueChanged()”信号。
我想在QSpinbox中输入“3.5”,在这种情况下,当我输入“3”时,QSpinbox的“valueChanged”改变QSlider的值,并且QSlider再次执行。所以,QSpinbox失去了焦点。
我无法一次输入“3.5”。
“valueChanged()”信号过于勤奋:)
我该如何解决这个问题?PyQt4:QSpinbox和QSlider之间的同步
1
A
回答
3
valueChanged()
信号的确意味着当它被改变时激活。如果要在编辑完成时触发信号,则会有一个专门用于名为editingFinished
的信号:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qabstractspinbox.html#editingFinished
您可能忽略了它,因为它是超类QAbstractSpinBox的成员。请注意,一旦小部件失去焦点或用户进入,此信号将触发。如果这不是你想要的行为,那么唯一剩下的选择是使用一个具有短暂延迟的QTimer,它会在每次启动时重新启动,并且一旦用户等待足够长时间,超时实际上会更新你的滑块。
我还注意到您正在尝试使用非整数值与用于整数的QSpinBox设计。您可能想要尝试为浮动精度设计的QDoubleSpinBox。 valueChange()
可能会像预期小数一样好一点。虽然我只是猜测,因为我没有测试过它:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qdoublespinbox.html
相关问题
- 1. QSlider步进?
- 2. qt和PyQt4之间的区别
- 3. 同步年和月之间的DROPDOWNLIST
- 4. C#和C++之间的同步值?
- 5. Mac OS X和iPhone之间的同步
- 6. android和PC之间的数据同步?
- 7. 同步(this)和同步(objectReference)之间的区别
- 8. 同步之间的区别
- 9. 在Java和C++之间同步日期
- 10. 如何在VSS和SVN之间同步
- 11. 改进之间的同步和异步请求之间更好2
- 12. 同步函数和同步块之间有什么区别?
- 13. 如何同步PC和手机之间的日期和时间?
- 14. 不同块之间的VHDL同步
- 15. xbee之间没有同步
- 16. WCF同步和异步呼叫之间的区别?
- 17. Windows XP和Windows 7之间的时间同步?
- 18. C#程序Windows和Linux之间的时间同步
- 19. 如何同步Windows和Linux电脑之间的时间?
- 20. 同步TFS和HP QC之间的缺陷和要求
- 21. QShortCut和QSpinBox冲突
- 22. 同步层之间的验证值
- 23. REST服务之间的数据同步
- 24. 两个数据库之间的同步
- 25. TFS 2008与TFS 2010之间的同步
- 26. 两个类之间的对象同步
- 27. 如何同步块之间的动作
- 28. CreateFileMapping程序之间的同步?
- 29. 客户之间的数据同步
- 30. 多种方法之间的java同步
我将“valueChanged”更改为“editingFinished”。谢谢! – 2012-02-23 05:24:51