– 注意写法:对象创建与方法调用合二为一
15
常用构件:按钮
• 类:Button
btn = Button(窗口,选项设置) – text:按钮上的文本 – command:点击按钮时要执行的命令
需要提供一个函数或方法名f
注意不是函数调用f()
– height,width – fg,bg – relief:RAISED/FLAT/SUNKEN/GROOVE/ – state:NORMAL/ACTIVE/DISABLED
27
Grid布局管理器
• Grid将窗口或框架视为由行和列构成的二维表 格,并将构件放入行列交叉处的单元格中
– 根据构件大小自动调整行列尺寸:列宽由该列中最宽 构件决定,行高由该行最高的构件决定.
• 构件都有grid()方法
– 选项row和column指定行列编号
从0开始编号 row的缺省值为当前下一空行,column的缺省值总为0
–程序有一个事件循环
事件监测
OS功能,由工具包提供支持
事件处理
应用程序员只需编写自己的事件处理程序
6
GUI编程
• 需要GUI工具包
– 将低层细节对程序员隐藏 – 跨平台 – Python标准库:Tkinter
• GUI编程
– 设计界面外观 – 为每个构件定义事件处理代码 – 建立启动初始化和总控部分
23
常用构件:顶层窗口
• 类Toplevel
– 顶层窗口是根窗口的子构件,但有一定的独 立性:可以移动,改变大小.
– 根窗口只有一个,顶层窗口可有多个.
• 例如
>>> root = Tk() >>> Label(root,text="hello").pack() >>> top = Toplevel() >>> Label(top,text="world").pack() >>> top.title('hello toplevel') >>> top.geometry('400x300')