tkinter 介绍
tkinter是python自带的GUI库,是对图形库TK的封装
tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行
除此之外还存在很多图形库,例如
pythonWin 仅适合window的界面编程库
wxPython 第三方界面编程库
组件概念
一个窗口中任意内容都可以称之为一个组件
tkinter的组件包含以下几种
按钮组件
Button 按钮组件
RadioButton 单选框组件
CheckButton 选择按钮组件
Listbox 列表框组件
文本输入框组件
Entry 单行文本框组件
Text 多行文本框组件
标签组件
Label 标签组件,可以显示图片和文字
Message 标签组件,可以根据内容将文字换行
菜单组件
Menu 菜单组件
MenuButton 菜单按钮组件,可以使用Menu代替
滚动条组件
scale 滑块组件
Scrollbar 滚动条组件
其他组件
Canvas 画布组件
Frame 框架组件,将多个组件编组
Toplevel 创建子窗口容器组件
创建简单的窗口
import tkinter
#生成主窗口对象
root = tkinter.Tk()
#保持主窗口一直消息循环中。。
root.mainloop()
带有组件的窗口
import tkinter
#生成主窗口对象
root = tkinter.Tk()
#创建标签 并且添加到主窗口中
label = tkinter.Label(root,text = '爷来了')
label.pack()
#创建按钮,并且添加到主窗口中
btn1 = tkinter.Button(root,text = '按钮1')
btn1.pack()
btn2 = tkinter.Button(root,text = '按钮2')
btn2.pack()
#保持主窗口一直消息循环中。。
root.mainloop()
组件布局
组件布局一共三种方式
pack() 按照方位布局
place() 按照坐标布局
grid() 按照网格布局
1.pack布局方法
所有的Tkinter组件都包含专用的几何管理方法,这些方法是用来组织和管理整个父配件区中子配件的布局的。Tkinter提供了截然不同的三种几何管理类:pack、grid和place。
pack几何管理采用块的方式组织配件,在快速生成界面设计中广泛采用,若干组件简单的布局,采用pack的代码量最少。pack几何管理程序根据 组件创建生成的顺序将组件添加到父组件中去。通过设置相同的锚点(anchor)可以将一组配件紧挨一个地方放置,如果不指定任何选项,默认在父窗体中自顶向下添加组件。
pack()布局的通用公式
组件对象.pack(设置, …)
名称 | 描述 | 取值范围 |
---|---|---|
expand | 当值为“yes”时,side选项无效。组件显示在父配件中心位置;若fill选项为”both”,则填充父组件的剩余空间。 | “yes”, 自然数, “no”, 0(默认值为“no”或0& |