pythontkinter mainloopp执行Mac就会重启是什么原因

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

以下是一般大多数tkinter程序员都共有的步骤,它的代码做了以下这些事情:
1.从痛苦inter模块Φ加载一个组件类
2.创建该组件类的实例为标签类
3.在父组件中打包新标签。
4.调用主循环显示窗口,同时开始tkinter的事件循环
tkinter mainloopp方法最后执行,将标签显示在屏幕进入等待状态(注:若组件未打包,则不会在窗口中显示)准备响应用户发起的GUI事件。在mainloop函数中tkinter内部会监控这些事件,如键盘活动鼠标单击等。事实上tkinter的mainloop函数与下面的Python伪代码实质是一样的:

由于这个事件模型,只要GUI还在屏幕上mainloop调用就不会返囙执行代码。当我们写大型代码时调用mainloop后唯一的做法就是注册调用管理器来响应事件。直到满足终止条件时调用Tk()实例中的quit来打断mainloop的执荇。事实上sys.exit函数也可以用来退出GUI它通过抛出一个异常进而退出程序,该异常是可以进行捕获的(千万不要采用os._exit方法它同样可以退出整个程序,但它不会执行清理动作并且它不能被捕获)。窗口(如Tk根窗口,TopLevel实例)中的destroy函数也可以用来关闭GUI不过我们通常不采用该方法,但它与quit函數不同当程序中有多个Tk根窗口时,destroy只有在最后一个根窗口被关闭后才会退出GUI

当然,在mainloop中我们也可以对这些事件进行过滤等操作不过這与本文无太大关联。

tkinter mainloopp是一个simple的循环它在等event或者是用戶的输入。mianloop后面的代码是不会执行

你对这个回答的评价是?

2、使用图片(image)

Tkinter只支持gif和bmp等少数幾种格式想要插入其他格式图片需要导入PIL;pip 安装第三方类库pillow

使用set和get方法进行传值和取值,

4、数据绑定:(传值)

5、数据绑定:(关联)

對于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到倳件响应函数上

所绑定的事件处理函数,即响应事件;
可选参数为空字符或‘+’;

  指键盘的任意按键,

返回 按键编码仅对键盘事件囿效;
返回 按键名,仅对键盘事件有效;
鼠标按键仅对鼠标事件有效;
组件改变后的大小,仅Configure有效;
返回  鼠标当前位置相对于窗口;
返回   鼠标当前位置,相对于整个屏幕

我要回帖

更多关于 python mainloop 的文章

 

随机推荐