我有一些小PyQt程序,我想转换成Tkinter(因为商业许可证)。我想知道在Qt上使用多线程有多容易:
class DownloadFileThread(QtCore.QThread):
download_error = QtCore.pyqtSignal(str, str)
download_progress = QtCore.pyqtSignal(int)
download_finished = QtCore.pyqtSignal()
def run(self):
# some code here ...
if error:
self.download_error.emit(
f'Error',
f'error'
)
elif progress:
self.download_progress.emit(progress)
else:
self.download_finished.emit()
f.close()
# and then somewhere in GUI class:
def set_progress_bar_value(self, val):
self.progress_bar.setValue(val)
self.download_file_thread.download_progress.connect(self.set_progress_bar_value)
所以我有一个完全独立的类,它允许我连接多个小部件并基于SIGNALS
控制它们
但是我读了很多文章和例子,仍然不知道如何在Tkinter上实现这样的东西。如何使完全独立的类应该将事件发布到主线程,然后GUI类应该处理这个事件并更新UI。你知道吗
我在python for Tkinter中使用了标准的python线程模块,发现它非常好用。。你知道吗
下面是一个程序的摘录,用于从API流式传输数据。。你知道吗
希望它能给你一个开始,但它是纯粹的功能性基础。。你知道吗
对我来说,它很有魅力。。程序在没有..的情况下崩溃。。你知道吗
相关问题 更多 >
编程相关推荐