我试图通过进行一些GUI开发来巩固我的Python知识,我应该尝试Tkinter还是直接转向PyQT以获得更好的IDE支持?
我试图通过进行一些GUI开发来巩固我的Python知识,我应该尝试Tkinter还是直接转向PyQT以获得更好的IDE支持?
def update_app():
root_winwod.update_idletasks()
root_winwod.update()
for x in range(10000):
if x % 100 = 0: # Triggers after 100 iterations. You can change this for your needs.
update_app()
# The rest of your loop code here
PyQt5解决方案
对于PyQt5,您可以调用QtCore.QCoreApplication.processEvents()
,但所有的网站都说不要这样做。相反,您必须创建一个子进程,使用multiprocessing.Manager()创建多进程安全变量,确保在访问它们时锁定和解锁变量,在子进程中使用subprocess.check_output()来尝试并捕获错误,在Qtimer()上添加定期更新UI,确保在应用程序退出时杀死进程等。
对于简单的应用程序,我建议运行Tkinter。运行子进程是可以的,但需要大量额外的编码和努力来确保您正确获取所有内容。