And*_*n 1 2 python pyqt pyqt4 pyqt5
我有一个问题可能很简单,但我没有得到它解决我想在pyqt中创建一个计时器使用QTimeEdit默认时间开始00:00:00和每秒增加.我尝试了下面的代码,但只添加了一秒后就停止了.
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.time)
self.timer.start(1000)
def time(self):
self.upTime.setTime(QtCore.QTime(00,00,00).addSecs())
Run Code Online (Sandbox Code Playgroud)
{yout time}.addSecs(1)不会改变时间,但会返回更改的时间.你一定要用{yout time} = {yout time}.addSecs(1)
import sys
from PyQt5 import QtCore
def timerEvent():
global time
time = time.addSecs(1)
print(time.toString("hh:mm:ss"))
app = QtCore.QCoreApplication(sys.argv)
timer = QtCore.QTimer()
time = QtCore.QTime(0, 0, 0)
timer.timeout.connect(timerEvent)
timer.start(100)
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
输出:
00:00:01
00:00:02
00:00:03
00:00:04
00:00:05
00:00:06
00:00:07
00:00:08
00:00:09
00:00:10
00:00:11
00:00:12
Run Code Online (Sandbox Code Playgroud)
我无法测试,但我认为你需要
self.curr_time = QtCore.QTime(00,00,00)
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.time)
self.timer.start(1000)
def time(self):
self.curr_time = self.curr_time.addSecs()
self.upTime.setTime(self.curr_time))
Run Code Online (Sandbox Code Playgroud)
您只需创建QtCore.QTime(00,00,00)一次,然后在 中增加其价值time()。
现在你总是使用QtCore.QTime(00,00,00)并增加这个值。
| 归档时间: |
|
| 查看次数: |
9230 次 |
| 最近记录: |