12.1创建GUI示例应用程序
GUI:图形用户界面。
Tkinter:Python 标准GUI工具包。
12.1.1
from tkinter import * #导入模块的所有内容
top=Tk() #创建一个充当主窗口的顶级组件(控件),实例化一个Tk对象
mainloop() #常规程序中我们将调用函数mainloop以进入Tkinter主事件循环,而不是直接退出程序
btn=Button() #创建按钮
btn.pack() #使用布局管理器来告诉Tkinter将它放在什么地方
btn['text'] ='Click me!' #给按钮指定一些文本
def clicked():
print('I was clicked!') #单击按钮将看到指定的消息被打印
使用config同时设置多个属性
btn.config(text='Click me!',command=clicked)
使用控件的构造函数来配置控件。
Button(text='click me too!',command=clicked).pack()
12.1.2 布局
对控件调用方法pack时,将把控件放在主控件中,要指定主控件可使用构造函数的第一个可选参数,如果没有指定,将把顶级窗口作为主控件。
Lable(text='I am in the first window').pack() #Lable是文本标签
second=Toplevel() #表示除主窗口外的另一个顶级窗口
Lable(second,text='I am in the second window!').pack() #在没有提供任何参数的时候,pack从窗口顶部开始将控件堆叠城一列,并让他们水平居中
调整控件的位置:
将它停靠在那一边使用参数side设置为LEFT,RIGHT,TOP,BOTTOM
让控件在x或y方向上填满分配的空间,将参数fill设置为X,Y,BOTH
让控件随窗口一起增大,将参数expand设置为True
使用help(Pack.config)来了解具体使用方法
其他的布局管理器,grid和place
12.1.3 事件处理
例如设置属性command给按钮指定动作是一种特殊的事件处理,在Tkinter里使用方法bind作为事件处理机制
示例;
from Tkinter import *
top=tk()
def calback(event):
print(event.x,event.y)
top.bind('<Button-1>,calback') #<Button-1>使用鼠标左键单击的事件的名称
12.1.4最终程序