01 Hello World!
作者:互联网
from tkinter import Label#获取组件对象 widget=Label(None,text='Hello GUI world!')#生成 widget.pack()#布置 widget.mainloop()#开始事件循环
这是一个完整的GUI程序,它调用了tkinter模块。
这是一个可以显示在电脑屏幕上、独立、功能化的窗口。它可以被最大化占据整个屏幕,也可以最小化隐藏在系统工具条中,还可以恢复原状。单击窗口右侧的X标志,可以关闭窗口,停止运行程序。
这虽然是一个小例子,却展示出大多数tkinter程序都有的共同步骤:
1、从tkinter模块中加载一个组件类。
2、创建该组件类的实例为标签类。
3、在父组件中打包新标签。
4、调用主循环,显示窗口,同时开始tkinter的事件循环。
mainloop方法最后执行,将标签显示在屏幕,进入tkinter等待状态,准备响应用户发起的GUI事件。在mainloop函数中,tkinter内部会监控这些事件,如键盘活动、鼠标单击等。
只要GUI还出现在屏幕上,mainloop调用就不会返回执行代码。当我们写大型代码时,调用mainloop后唯一的做法就是注册调用管理器来响应事件。(有点不太明白)
这就是事件驱动型编程,它可能是GUI编程最特殊的一个方面。GUI程序都有一组事件处理器,
对于脚本文件中的代码,你需要完成上文中第三步和第四步来显示图形化界面。显示GUI的窗口,需要调用mainloop函数;显示窗口中
的组件,必须将它们pack(或者arranged) 。这样,tkinter的几何管理器就知道响应它们了。如果只有mainloop函数却没有pack函数,则会出现空窗口;有pack函数却没有mainloop,屏幕上什么都不显示,因为代码未进入事件等待状态。当你交互地编写代码时,mainloop函数有时是可选的,但通常都需要。
这段简单的脚本展示了大多数tkinter程序都有的核心概念。
创建组件
第一个参数是父组件对象,我们希望将新标签设置于其中。这里,‘None’表示‘将新标签设置在该程序的默认顶层窗口’。稍后,我们会向该位置传递其他组件的实际位置,并将标签设置在其他组件充当的容器对象内。
第二个参数是标签配置选项,作为一个关键字参数。文本选项通过设定文本字符串,来作为标签的显示信息。大多数组件的构造函数都接受多个关键字参数,对组件的颜色、尺寸、回调函数等进行具体设置。大多数组件的设置针对不同平台,都做了合理的默认设置,因而使得tkinter的创建工作变得简单易行。当你希望做一些自定义设定时,就需要更改这些默认选项。
如我们所见,采用树状结构来建立复杂的GUI界面,父组件参数即是树的根。tkinter的工作原则是:‘所建即所得’。搭建的组件对象树就是希望在屏幕上看到的显示模型,通过调用mainloop函数就可让组件树显示在屏幕上。
几何管理器
标签:01,tkinter,窗口,mainloop,GUI,标签,组件,World,Hello 来源: https://www.cnblogs.com/start20180703/p/10341940.html