Tkinter教程之Grid篇.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tkinter教程之Grid篇

Tkinter教程之Grid篇 # Tkinter参考中最推荐使用的一个布局器。实现机制是将Widget逻辑上分割成表格,在指定的位置放置想要的Widget就可以了。 1.第一个Grid例子 # -*- coding: cp936 -*- # 使用grid来布局组件 from Tkinter import * root = Tk() # 创建两个Label lb1 = Label(root,text = Hello) lb2 = Label(root,text = Grid) lb1.grid() lb2.grid() root.mainloop() # grid有两个最为重要的参数,用来指定将组件放置到什么位置,一个是row,另一个是column。如果不指定row,会将组件放置到第一个可用的行上,如果不指定column,则使用第一列。 2.使用row和column来指定位置 # -*- coding: cp936 -*- # 使用grid来布局组件 from Tkinter import * root = Tk() # 创建两个Label lb1 = Label(root,text = Hello) lb2 = Label(root,text = Grid) lb1.grid() # 指定lb2为第一行(使用索引0开始),第二列(使用索引0开始) lb2.grid(row = 0,column = 1) root.mainloop() # grid有两个最为重要的参数,用来指定将组件放置到什么位置,一个是row,另一个是column。如果不指定row,会将组件放置到第一个可用的行上,如果不指定column,则使用第一列。注意这里使用grid时不需要创建,直接使用行列就可以。 3.为其它组件预定位置 # 可以使用row/column来指定组件的放置位置,并预先留出空间,以务其它需要。 # -*- coding: cp936 -*- # 使用grid来布局组件 from Tkinter import * root = Tk() # 创建两个Label Label(root,text = Hello).pack() # 在第一行,第10列放置lb2 Label(root,text = Grid).grid(row = 0,column = 10) # Lable(root,text = 3).grid(row = 0,column = 5) root.mainloop() # 这个例子中将lb2放置到第1行,第11列位置上,但运行结果与上一例从效果上看不出太大的区别。原因是:如果这个位置没有组件的话,它是看不可见的。 4.将组件放置到预定位置上去 # -*- coding: cp936 -*- # 使用grid来布局组件 from Tkinter import * root = Tk() # 创建两个Label Label(root,text = 1).grid() # 在第1行,第11列放置lb2 Label(root,text = 2).grid(row = 0,column = 10) Label(root,text = 3).grid(row = 0,column = 5) root.mainloop() # 可以看到Label(3)是位置Label(1)和Label(2)之间了,即Label(2)是在11列,Label(3)位于第3列 5.将两个或多个组件同一个位置 # -*- coding: cp936 -*- # 多个组件同时grid到同一个表格位置 from Tkinter import * root = Tk() # 创建两个Label lb1 = Label(root,text = 1) lb2 = Label(root,text = 2) # 将lb1和lb2均grid到(0,0)位置 lb1.grid(row = 0,column = 0) lb2.grid(row = 0,column = 0) def forgetLabel(): ????# grid_slaves返回grid中(0,0)位置的所有组件 ????# grid_forget将这个组件从grid中移除(并未删除,可以使用grid再将它显示出来) ????print root.grid_slaves(0,0)[0].grid_forget() # 我测试时grid_salves返回的第一个值为lb2,最后grid的那一个 Button(root,text = forget last,command = forgetLabel).grid(row = 1) root.mainloop() # 这段代码是用来证明,多个组件同时

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档