目录
- Button :创建按钮,Button(master,option = value,……)
- Listbox :列表空间,可以含有一个或多个文本项,可单选也可多选
创建窗口的必备环节
import tkinter
# 初始化Tk()
top = tkinter.Tk()
# 进入消息循环
top.mainloop()
窗口常用属性
title('hello tkinter'):设置窗口标题 geometry('200x100'):设置窗口大小,注意是x而不是* resizable((width=True, height=True):设置窗口是否可以变化长宽,默认可变
import tkinter
# 初始化Tk()
top = tkinter.Tk()
top.title('hello tkinter')
top.geometry('200x100')
top.resizable()
# 进入消息循环
top.mainloop()
几何管理
- pack():包装
1- side: 空间位于容器的方位:
参数:left,top(默认),right,bottom
2- fill :填充:
x:水平方向填充
y:竖直方向填充
both:水平和竖直方向填充
none:不填充
3- expand:yes:扩展整个空白区,no:不扩展
4- anchor: N:北上,E:东右,S:南下,W:西左,CENTER:中间
- padx:x方向的外边距
- pady:y方向的外边距
- ipadx:x方向的内边距
- ipady:y方向的内边距
- grid():网格
-place():位置
1- 使用绝对位置 place(x=0, y=0)
2- 使用相对坐标 lb.place(relx = 1,rely = 0.5,anchor = CENTER)
3- 同时制定多个组件
lb = Label(root, text='hello Place')
v = IntVar()
for i in range(5):
Radiobutton(
root,
text='Radio' + str(i),
variable=v,
value=i
).place(x=80 * i, anchor=NW)
root.mainloop()
4- 同时使用相对和绝对坐标
# 先设置相对坐标为(0.5,0.5),再使用(-200,-200)将坐标作偏移(-200,-200)
lb1.place(relx=0.5, rely=0.5, anchor=CENTER, x=-200, y=-200)
5-使用in来指定放置的容器
# 创建一个Label
label.place(relx=0.5, rely=0.5, anchor=CENTER)
bt = Button(root, text='button in root', fg='yellow')
bt.place(in_=label)
#指定bt放的位置是label的默认(0,0)处
6-深入in用法
lb1.place(in_=fm1, relx=0.5, rely=0.5, anchor=CENTER)
bt1.place(in_=fm3, anchor=W)
7-事件与Place结合使用
常用控件
常用控件的用法:
- Label:Label(根对象, [属性列表])
- Frame:Frame(根对象, [属性列表]),在屏幕上创建一块矩形区域,多作为容器来布局窗体
- Entry:lb =Entry(根对象, [属性列表])
- Text:t = Text(根对象)
- Button:Button ( master, option=value, ... )
- Listbox:lb = ListBox(根对象, [属性列表])
- Scrollbar:滚动条
注:每个控件最后都要加上几何管理进行布局,不然无法输出
- Label (根对象,[属性列表])
text:要现实的文本 bg:背景颜色 fg : 前景颜色(就是字体颜色) font: 字体(样式, 大小) width: 控件宽度 height: 控件高度 justify: 文字的对齐方向,可选值为 RIGHT, CENTER, LEFT, 默认为 Center. padx: 指定水平方向的边距, 默认为1像素.