编程问题解答与技术实践指南
1. 定时调用方法
若要每十秒调用一次 self.every_ten_seconds()
方法,假设在类的 __init__()
方法中,代码如下:
self.timer = qtc.QTimer()
self.timer.setInterval(10000)
self.timer.timeout.connect(self.every_ten_seconds)
2. 修正 QTimer 使用错误
原代码:
timer = qtc.QTimer()
timer.setSingleShot(True)
timer.setInterval(1000)
timer.start()
while timer.remainingTime():
sleep(.01)
run_delayed_command()
此代码使用 QTimer
同步结合 while
循环,会产生阻塞代码。应改为异步方式:
qtc.QTimer.singleShot(1000, run_delayed_command)
3. 改进单词计数工作类
原工作类代码: