擅长:python、mysql、java
<p>一旦启动<code>mainloop()</code>,就会得到一个循环运行的事件驱动应用程序。行后的任何代码根.mainloop()将仅在GUI终止后运行。您的GUI应该或多或少是自包含的。用tkinter小部件填充它,这些小部件将绑定一些事件,每个事件都有适当的回调函数。在</p>
<p>但是请注意,tkinter不是线程安全的。例如,您需要很好地分离编码代码,确保它不会调用任何GUI小部件。在<a href="http://code.activestate.com/recipes/82965-threads-tkinter-and-asynchronous-io/" rel="nofollow noreferrer">this page</a>中,您可以找到一个Python2示例,介绍如何使用tkinter执行线程。在</p>
<p>但也许你根本不需要线程。例如,您可以使用<code>after()</code>来计划每X秒运行一次函数,它可以读取更新的日志文件或从数据库中获取更新的值,并相应地更新GUI。您可以在<a href="http://stupidpythonideas.blogspot.pt/2013/10/why-your-gui-app-freezes.html" rel="nofollow noreferrer">this page</a>中找到一些示例和说明。在</p>