1.pack()

  主要采用块的方式组织子组件

如下:

import tkinter

root=tkinter.Tk()        #创建窗口对象

label=tkinter.Label(root,text='hello,python')    #创建标签对象

label.pack()     #将label组件添加到窗口中显示

button1=tkinter.Button(root,text='BUTTON1')   #创建按钮对象

button1.pack(side=tkinter.LEFT)     #将button1组件添加到窗口中显示,左停靠

button2=tkinter.Button(root,text='BUTTON2')

button2.pack(side=tkinter.RIGHT)

root.mainloop()    #显示窗口

效果如下:

2.grid()

  采用表格结构组件子组织,它的两重要参数:row和column

例子:计算器示例

from tkinter import *
root=Tk()
root.geometry('200x200+280+280') #设置窗口大小
root.title('计算器示例')
L1=Button(root,text='1',width=5,bg='yellow')
L2=Button(root,text='2',width=5)
L3=Button(root,text='3',width=5)
L4=Button(root,text='4',width=5)
L5=Button(root,text='5',width=5,bg='green')
L6=Button(root,text='6',width=5)
L7=Button(root,text='7',width=5)
L8=Button(root,text='8',width=5,bg='yellow')
L9=Button(root,text='9',width=5)
L0=Button(root,text='0')
Lp=Button(root,text='.')
L1.grid(row=0,column=0) #按钮放在0行0列
L2.grid(row=0,column=1)
L3.grid(row=0,column=2)
L4.grid(row=1,column=0)
L5.grid(row=1,column=1)
L6.grid(row=1,column=2)
L7.grid(row=2,column=0)
L8.grid(row=2,column=1)
L9.grid(row=2,column=2)
L0.grid(row=3,column=0,columnspan=2,sticky=E+W)
Lp.grid(row=3,column=2,sticky=E+W)
root.mainloop() #显示窗口
效果如下:

3.place()

  允许指定组件的大小与位置,缺点是:改变窗口大小时组件不能随之灵活地改变大小.

例:

from tkinter import *
root=Tk()
root.title('登录')
root['width']=200;root['height']=80         #初始化窗口大小
Label(root,text='用户名',width=6).place(x=1,y=1)  #绝对坐标1,1
Entry(root,width=20).place(x=45,y=1) #输入控件对象大小及坐标
Label(root,width=20).place(x=45,y=1)
Label(root,text='密码',width=6).place(x=1,y=20)
Entry(root,width=20,show='*').place(x=40,y=20)
Button(root,text='登录',width=8).place(x=40,y=40)
Button(root,text='取消',width=8).place(x=110,y=40)
root.mainloop()
效果如下:

最新文章

  1. jquery checkbox 复选框多次点击判断选中状态,以及全选/取消的代码示例
  2. [转]linux CentOS 安装 Nginx
  3. 9款让你眼前一亮的HTML5/CSS3示例及源码
  4. 【和我一起学python吧】python的一些推荐
  5. PendingIntent概述
  6. CSS换行2
  7. Google Map Android api V2 中使用MapView遇到CameraUpdateFactory is not initialized!的解决办法
  8. linux 安装svn,并设置钩子来同步更新
  9. SSIM(结构相似度算法)不同实现版本的差异
  10. 关于web页面JApplet打印小票
  11. 深度解读Tomcat中的NIO模型(转载)
  12. 最好用的编辑器之一:Vim-Go环境搭建
  13. 浅谈select for update 和select lock in share mode的区别
  14. shell编程 之 test命令
  15. Linux 操作系统死机故障处理方法总结
  16. Ubuntu下Ansible安装和使用
  17. 菜鸟教程之工具使用(九)——Git如何进行分支的merge操作
  18. You Don't Know JS: Scope & Closures (第3章: 函数 vs 块作用域)
  19. Qt ------ UDP发送不了或接收不到问题
  20. Hive学习之路 (十八)Hive的Shell操作

热门文章

  1. Java实现 蓝桥杯VIP 算法训练 删除多余括号
  2. JS变量小总
  3. RocketMQ系列(二)环境搭建
  4. Jmeter让压测随时做起来(转载)
  5. Spark Streaming + Kafka Integration Guide原文翻译及解析
  6. LinkedList竟然比ArrayList慢了1000多倍?(动图+性能评测)
  7. os.remove() 删除文件
  8. java 拦截器解决xss攻击
  9. 人脸识别和手势识别应用(face++)开发
  10. 【Spring注解驱动开发】使用InitializingBean和DisposableBean来管理bean的生命周期,你真的了解吗?