擅长:python、mysql、java
<p>主要问题的答案是,当您准备好让应用程序运行时,必须只调用一次mainloop。</p>
<p><code>mainloop</code>只不过是一个类似这样的无限循环(这些不是方法的实际名称,这些名称只是用来说明这一点):</p>
<pre><code>while True:
event=wait_for_event()
event.process()
if main_window_has_been_destroyed():
break
</code></pre>
<p>在这种情况下,“事件”意味着用户交互(鼠标点击、按键等)和工具箱或操作系统/窗口管理器请求绘制或重绘小部件。如果循环没有运行,则不会处理事件。如果事件没有得到处理,屏幕上将不会显示任何内容,除非您运行自己的无限循环,否则您的程序可能会退出。</p>
<p>那么,为什么不需要交互地调用它呢?这只是一个方便,因为否则一旦调用<code>mainloop</code>就不可能输入任何命令,因为<code>mainloop</code>运行到主窗口被破坏为止。</p>