添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
4 # 标签控件,显示文本和位图,展示在第一行 5 Label(tk,text= " First " ).grid(row= 0) 6 Label(tk,text= " Second " ).grid(row=1) # 第二行 8 # 主事件循环 9 mainloop()

(2) 输入控件

 1 from tkinter import *
 3 tk=Tk()
 4 #标签控件,显示文本和位图,展示在第一行
 5 Label(tk,text="First").grid(row=0)
 6 Label(tk,text="Second").grid(row=1)#第二行
 8 #输入控件
 9 Entry(tk).grid(row=0,column=1)
10 Entry(tk).grid(row=1,column=1)
12 #主事件循环
13 mainloop()

(3)sticky参数的使用

 1 from tkinter import *
 3 tk=Tk()
 4 #标签控件,显示文本和位图,展示在第一行
 5 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 6 Label(tk,text="Second").grid(row=2,sticky=W)#第二行,靠左
 8 #输入控件
 9 Entry(tk).grid(row=0,column=1)
10 Entry(tk).grid(row=2,column=1)
12 #主事件循环
13 mainloop()

(4)columnspan和rowspan参数的使用

columnspan选项可以指定控件跨越多列显示,而rowspan选项同样可以指定控件跨越多行显示。

 1 from tkinter import *
 3 tk=Tk()
 4 var=IntVar()
 6 #标签控件,显示文本和位图,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
10 #输入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
14 button=Checkbutton(tk,text="Precerve aspect",variable=var)
15 button.grid(sticky=W)
17 #主事件循环
18 mainloop()

跨越两列显示如下

 1 from tkinter import *
 3 tk=Tk()
 4 var=IntVar()
 6 #标签控件,显示文本和位图,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
10 #输入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
14 button=Checkbutton(tk,text="Precerve aspect",variable=var)
15 button.grid(columnspan=2,sticky=W)
17 #主事件循环
18 mainloop()
 1 from tkinter import *
 3 tk=Tk()
 4 var=IntVar()
 6 #标签控件,显示文本和位图,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
10 #输入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
14 #多选框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
18 #插入图片
19 photo=PhotoImage(file="python_logo.gif")
20 label=Label(image=photo)
21 label.image=photo
22 label.grid(row=0,column=2)
24 #主事件循环
25 mainloop()
 1 from tkinter import *
 3 tk=Tk()
 4 var=IntVar()
 6 #标签控件,显示文本和位图,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
10 #输入控件
11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)
12 Entry(tk).grid(row=1,column=1)
14 #多选框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
18 #插入图片
19 photo=PhotoImage(file="python_logo.gif")
20 label=Label(image=photo)
21 label.image=photo
22 label.grid(row=0,column=2,rowspan=2,columnspan=2,
23            sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度
25 #主事件循环
26 mainloop()
 1 from tkinter import *
 3 tk=Tk()
 4 var=IntVar()
 6 #标签控件,显示文本和位图,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
10 #输入控件
11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)
12 Entry(tk).grid(row=1,column=1)
14 #多选框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
18 #插入图片
19 photo=PhotoImage(file="python_logo.gif")
20 label=Label(image=photo)
21 label.grid(row=0,column=2,rowspan=2,columnspan=2,
22            sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度
24 #按钮控件
25 button1=Button(tk,text="Zoom in")
26 button1.grid(row=2,column=2)
27 button2=Button(tk,text="Zoom out")
28 button2.grid(row=2,column=3)
31 #主事件循环
32 mainloop()

(6)padx和pady参数的应用

 1 from tkinter import *
 2 import time
 4 t = Tk()
 5 t.title('与python聊天中')
 7   #创建frame容器
 8 frmLT = Frame(width=500, height=320, bg='white')
 9 frmLC = Frame(width=500, height=150, bg='red')
10 frmLB = Frame(width=500, height=30)
11 frmRT = Frame(width=200, height=500)
13 frmLT.grid(row=0, column=0)
14 frmLC.grid(row=1, column=0)
15 frmLB.grid(row=2, column=0)
16 frmRT.grid(row=0, column=1, rowspan=3)
 1 from tkinter import *
 2 import time
 4 t = Tk()
 5 t.title('与python聊天中')
 7   #创建frame容器
 8 frmLT = Frame(width=500, height=320, bg='white')
 9 frmLC = Frame(width=500, height=150, bg='red')
10 frmLB = Frame(width=500, height=30)
11 frmRT = Frame(width=200, height=500)
13 frmLT.grid(row=0, column=0,padx=1,pady=3)
14 frmLC.grid(row=1, column=0,padx=1,pady=3)
15 frmLB.grid(row=2, column=0)
16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)

利用padx和pady,可以将框架边界区分开

 1 from tkinter import *
 2 import time
 4 t = Tk()
 5 t.title('与python聊天中')
 7 #创建frame容器
 8 frmLT = Frame(width=500, height=320, bg='white')
 9 frmLC = Frame(width=500, height=150, bg='red')
10 frmLB = Frame(width=500, height=30)
11 frmRT = Frame(width=200, height=500)
13 frmLT.grid(row=0, column=0,padx=1,pady=3)
14 frmLC.grid(row=1, column=0,padx=1,pady=3)
15 frmLB.grid(row=2, column=0)
16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)
18 '''#固定容器大小
19 frmLT.grid_propagate(0)
20 frmLC.grid_propagate(0)
21 frmLB.grid_propagate(0)
22 frmRT.grid_propagate(0)'''
24 #添加按钮
25 btnSend = Button(frmLB, text='发 送', width = 8)#在frmLB容器中添加
26 btnSend.grid(row=2,column=0)
27 btnCancel = Button(frmLB, text='取消', width = 8)
28 btnCancel.grid(row=2,column=1,sticky=E)
30 #添加图片
31 imgInfo = PhotoImage(file = "python_logo.gif")
32 lblImage = Label(frmRT, image = imgInfo)
33 lblImage.image = imgInfo
34 lblImage.grid()
36 #固定容器大小
37 frmLT.grid_propagate(0)
38 frmLC.grid_propagate(0)
39 frmLB.grid_propagate(0)
40 frmRT.grid_propagate(0)