Tkinter first or PyQt?



我正试图通过进行一些gui开发来巩固我的python知识,我应该尝试Tkinter还是直接跳到PyQT以获得更好的IDE支持?

如果你的主要目标是巩固你的python知识,我推荐Tkinter。它更简单,而且已经安装了Python。

如果你想构建复杂的应用程序,我推荐PyQt,它的功能要强大得多。

我发现PyQt5和Tkinter在长时间运行的循环和处理GUI冻结方面有很大的区别。

在Tkinger和PyQt5中,GUI将在长循环期间冻结,因为没有调用GUI更新过程。为了在Tkinter中修复此问题,我添加了以下代码:

Tkinter解决方案

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(),但所有网站都说不要这样做。相反,您必须创建一个子进程,使用多进程创建多进程安全变量。Manager(),确保在访问变量时锁定和解锁变量,使用subprocess.check_output()尝试捕获子流程中的错误,添加Qtimer()定期更新UI,确保在应用程序退出时终止进程,依此类推

对于简单的应用程序,我建议运行Tkinter。运行子流程很好,只需要大量额外的编码和精力来确保一切正常。

相关内容

  • 没有找到相关文章

最新更新