Python中文
首页
教程
问答
标签
搜索
登录
注册
什么时候需要在Tkinter应用程序中调用主循环?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我看过的每一个tkinter教程都声称,必须调用<code>tkinter.mainloop</code>才能绘制窗口和处理事件,而且它们总是调用此函数,即使在hello world程序中也是如此。但是,当我在交互式shell中尝试这些功能时,窗口将正确绘制,而不必调用mainloop。<a href="http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_tk.html" rel="noreferrer">This example</a>在tkinter中嵌入matplotlib图形会生成一个相对复杂的应用程序,其中有用于在tkinter窗口中平移、缩放和调整绘图大小的按钮,而且,如果删除对mainloop的调用并在交互式shell中运行代码,这一切都会正常工作。当然,如果我在交互shell之外运行脚本(删除mainloop),程序会很快结束,看不到发生了什么,但是如果我添加一个调用<code>input</code>来保持程序打开,一切正常(我在linux上运行python 3.2.2)。</p> <p>那么mainloop具体做什么,什么时候需要调用它呢?</p> <p>编辑: 为了澄清,如果我打开GNOME终端并键入</p> <pre><code>$python3 >>> import tkinter >>> root = tkinter.Tk() </code></pre> <p>窗口立即出现而不必调用mainloop,更复杂的tkinter功能似乎也能工作(例如,向窗口添加按钮)。空闲时,需要调用mainloop。我的理解是,在调用mainloop之前,不应该绘制任何内容,也不应该处理任何事件。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>执行代码时,如果没有<code>mainloop</code>函数,tkinter窗口将拒绝打开。</p> <p>例如,这不起作用:</p> <pre><code>from tkinter import* root=Tk() </code></pre> <p>然而,这将起作用:</p> <pre><code>from tkinter import* root=Tk() root.mainloop() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
1 回答
如何在python中从数据帧列表中删除引号
6 回答
如何在python中从数据帧创建列表
2 回答
如何在Python中从数据帧创建嵌套的JSON
1 回答
如何在Python中从数据帧显示wordcloud
6 回答
如何在Python中从数据帧的时间戳中删除字符
10 回答
如何在Python中从数据帧绘制简单绘图?
5 回答
如何在python中从数据帧行提取具有特定长度的范围?
4 回答
如何在python中从数据帧设置dict中的值
3 回答
如何在Python中从数据库中获得一个结果
8 回答
如何在python中从数据框中绘制分类条形图
3 回答
如何在Python中从数据框中选择特定细节?
7 回答
如何在python中从数据集中删除unicode
2 回答
如何在python中从数据集中删除某些数值?
2 回答
如何在python中从数据集中选择行
6 回答
如何在Python中从数组中删除元素
9 回答
如何在python中从数组中删除单个倒逗号?
6 回答
如何在python中从数组中删除对象?
5 回答
如何在python中从数组中删除引号
7 回答
如何在python中从数组中删除所有最小值
7 回答