1、pack管理器
(1)
from tkinter import *
root=Tk()
listbox=Listbox(root)
listbox.pack(fill=BOTH,expand=True)
for i in range(10):
listbox.insert(END,str(i))
mainloop()
(2)横向填充
from tkinter import *
root=Tk()
Label(root,text=“red”,bg=“red”,fg=“white”).pack(fill=X)
Label(root,text=“green”,bg=“green”,fg=“black”).pack(fill=X)
Label(root,text=“blue”,bg=“blue”,fg=“white”).pack(fill=X)
mainloop()
(3)纵向填充
from tkinter import *
root=Tk()
Label(root,text=“red”,bg=“red”,fg=“white”).pack(side=LEFT)
Label(root,text=“green”,bg=“green”,fg=“black”).pack(side=LEFT)
Label(root,text=“blue”,bg=“blue”,fg=“white”).pack(side=LEFT)
mainloop()
2、grid用法
(1)
from tkinter import *
root=Tk()
Label(root,text=“用户名:”).grid(row=0)
Label(root,text=“密码”).grid(row=1)
Entry(root).grid(row=0,column=1)
Entry(root,show="$").grid(row=1,column=1)
mainloop()
(2)左对齐
from tkinter import *
root=Tk()
Label(root,text=“用户名:”).grid(row=0,sticky=W)
Label(root,text=“密码”).grid(row=1,sticky=W)
Entry(root).grid(row=0,column=1)
Entry(root,show="$").grid(row=1,column=1)
mainloop()
(3)
from tkinter import *
root=Tk()
Label(root,text=“用户名:”).grid(row=0,sticky=W)
Label(root,text=“密码”).grid(row=1,sticky=W)
photo=PhotoImage(file=“7.gif”)
Label(root,image=photo).grid(row=1,column=2)
Entry(root).grid(row=0,column=1)
Entry(root,show="$").grid(row=1,column=1)
mainloop()
改进:
from tkinter import *
root=Tk()
Label(root,text=“用户名:”).grid(row=0,sticky=W)
Label(root,text=“密码”).grid(row=1,sticky=W)
photo=PhotoImage(file=“7.gif”)
Label(root,image=photo).grid(row=0,column=2,rowspan=5,padx=6,pady=6)
Entry(root).grid(row=0,column=1)
Entry(root,show="$").grid(row=1,column=1)
mainloop()
二次改进:
from tkinter import *
root=Tk()
Label(root,text=“用户名:”).grid(row=0,sticky=W)
Label(root,text=“密码”).grid(row=1,sticky=W)
photo=PhotoImage(file=“7.gif”)
Label(root,image=photo).grid(row=0,column=2,rowspan=5,padx=6,pady=6)
Entry(root).grid(row=0,column=1)
Entry(root,show="$").grid(row=1,column=1)
Button(text=“提交”,width=10).grid(row=2,columnspan=5,pady=5)
mainloop()
3、place用法
(1)
from tkinter import *
root=Tk()
def callback():
print(“正中靶心!”)
Button(root,text=“点一下!”,command=callback).place(relx=0.5,rely=0.5,anchor=CENTER)
mainloop()
(2)
from tkinter import *
root=Tk()
photo=PhotoImage(file=“7.gif”)
Label(root,image=photo).pack()
def callback():
print(“正中靶心!”)
Button(root,text=“点一下!”,command=callback).place(relx=0.5,rely=0.5,anchor=CENTER)
mainloop()
(3)
from tkinter import *
root=Tk()
Label(root,bg=“red”).place(relx=0.5,rely=0.5,relheight=0.75,relwidth=0.75,anchor=CENTER)
Label(root,bg=“yellow”).place(relx=0.5,rely=0.5,relheight=0.5,relwidth=0.5,anchor=CENTER)
Label(root,bg=“green”).place(relx=0.5,rely=0.5,relheight=0.25,relwidth=0.25,anchor=CENTER)
mainloop()
4、
(1)
from tkinter import *
messagebox.askokcancel(“SJNK SK”,“发射炸弹~”)
mainloop()
(2)askopenfilename
from tkinter import *
root=Tk()
def callback():
fileName=filedialog.askopenfilename()
print(fileName)
Button(root,text=“打开文件”,command=callback).pack()
mainloop()
(3)指定文件格式
from tkinter import *
root=Tk()
def callback():
fileName=filedialog.askopenfilename(defaultextension=".py")
print(fileName)
Button(root,text=“打开文件”,command=callback).pack()
mainloop()
(4)改进
fileName=filedialog.askopenfilename(filetypes=[(“PNG”,“png”),(“GIF”,".gif")])
(5)选择颜色
from tkinter import *
root=Tk()
def callback():
fileName=colorchooser.askcolor()
print(fileName)
Button(root,text=“选择颜色”,command=callback).pack()
mainloop()