【发布时间】:2020-04-28 01:18:45
【问题描述】:
我有 QMediaPlayer 和 QVideoWidget 用于播放花时间 QLineEdit 和完成程序 QLineEdit 的视频。我正在尝试做一个计数器来显示用户在这个程序上花费了多少分钟以及用户何时达到完成程序限制弹出一个对话框。为此,我创建了一个线程函数:
def update_video_timer(self):
end_time = int(self.end_time.text())
start_time = 0
while start_time <= end_time:
self.spended_time.setText(str(start_time))
start_time = start_time + 1
# minutes
time.sleep(60)
# reachs limit
self.mediaPlayer.pause()
dlg = QDialog(self)
dlg.setWindowTitle("YOUR TIME HAS FINISHED!")
dlg.exec_()
我在第一个视频开始播放时调用此函数:
from threading import Thread
Thread(target=self.update_video_timer())
但问题是当视频开始播放时,程序卡住了。欢迎对我的代码提供任何帮助和/或改进。
【问题讨论】:
标签: python multithreading pyqt pyqt5