午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python Tkinter Grid布局管理器詳解

 刮骨劍 2019-03-07

Grid(網(wǎng)格)布局管理器會將控件放置到一個二維的表格里。主控件被分割成一系列的行和列,表格中的每個單元(cell)都可以放置一個控件。

注意:不要試圖在一個主窗口中混合使用pack和grid

(1)標簽控件

復(fù)制代碼
1 from tkinter import *
2 
3 tk=Tk()
4 #標簽控件,顯示文本和位圖,展示在第一行
5 Label(tk,text="First").grid(row=0)
6 Label(tk,text="Second").grid(row=1)#第二行
7 
8 #主事件循環(huán)
9 mainloop()
復(fù)制代碼

(2) 輸入控件

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 #標簽控件,顯示文本和位圖,展示在第一行
 5 Label(tk,text="First").grid(row=0)
 6 Label(tk,text="Second").grid(row=1)#第二行
 7 
 8 #輸入控件
 9 Entry(tk).grid(row=0,column=1)
10 Entry(tk).grid(row=1,column=1)
11 
12 #主事件循環(huán)
13 mainloop()
復(fù)制代碼

(3)sticky參數(shù)的使用

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 #標簽控件,顯示文本和位圖,展示在第一行
 5 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 6 Label(tk,text="Second").grid(row=2,sticky=W)#第二行,靠左
 7 
 8 #輸入控件
 9 Entry(tk).grid(row=0,column=1)
10 Entry(tk).grid(row=2,column=1)
11 
12 #主事件循環(huán)
13 mainloop()
復(fù)制代碼

(4)columnspan和rowspan參數(shù)的使用

columnspan選項可以指定控件跨越多列顯示,而rowspan選項同樣可以指定控件跨越多行顯示。

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 var=IntVar()
 5 
 6 #標簽控件,顯示文本和位圖,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
 9 
10 #輸入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
13 
14 button=Checkbutton(tk,text="Precerve aspect",variable=var)
15 button.grid(sticky=W)
16 
17 #主事件循環(huán)
18 mainloop()
復(fù)制代碼

跨越兩列顯示如下

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 var=IntVar()
 5 
 6 #標簽控件,顯示文本和位圖,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
 9 
10 #輸入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
13 
14 button=Checkbutton(tk,text="Precerve aspect",variable=var)
15 button.grid(columnspan=2,sticky=W)
16 
17 #主事件循環(huán)
18 mainloop()
復(fù)制代碼

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 var=IntVar()
 5 
 6 #標簽控件,顯示文本和位圖,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
 9 
10 #輸入控件
11 Entry(tk).grid(row=0,column=1)
12 Entry(tk).grid(row=1,column=1)
13 
14 #多選框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
17 
18 #插入圖片
19 photo=PhotoImage(file="python_logo.gif")
20 label=Label(image=photo)
21 label.image=photo
22 label.grid(row=0,column=2)
23 
24 #主事件循環(huán)
25 mainloop()
復(fù)制代碼

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 var=IntVar()
 5 
 6 #標簽控件,顯示文本和位圖,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
 9 
10 #輸入控件
11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)
12 Entry(tk).grid(row=1,column=1)
13 
14 #多選框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
17 
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個長度
24 
25 #主事件循環(huán)
26 mainloop()
復(fù)制代碼

(5)

復(fù)制代碼
 1 from tkinter import *
 2 
 3 tk=Tk()
 4 var=IntVar()
 5 
 6 #標簽控件,顯示文本和位圖,展示在第一行
 7 Label(tk,text="First").grid(row=0,sticky=E)#靠右
 8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
 9 
10 #輸入控件
11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)
12 Entry(tk).grid(row=1,column=1)
13 
14 #多選框插件
15 button=Checkbutton(tk,text="Precerve aspect",variable=var)
16 button.grid(row=2,columnspan=2,sticky=W)
17 
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個長度
23 
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)
29 
30 
31 #主事件循環(huán)
32 mainloop()
復(fù)制代碼

 (6)padx和pady參數(shù)的應(yīng)用

復(fù)制代碼
 1 from tkinter import *
 2 import time
 3 
 4 t = Tk()
 5 t.title('與python聊天中')
 6        
 7   #創(chuàng)建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)
12 
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)
復(fù)制代碼

復(fù)制代碼
 1 from tkinter import *
 2 import time
 3 
 4 t = Tk()
 5 t.title('與python聊天中')
 6        
 7   #創(chuàng)建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)
12 
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)
復(fù)制代碼

利用padx和pady,可以將框架邊界區(qū)分開

復(fù)制代碼
 1 from tkinter import *
 2 import time
 3 
 4 t = Tk()
 5 t.title('與python聊天中')
 6        
 7 #創(chuàng)建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)
12 
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)
17 
18 '''#固定容器大小
19 frmLT.grid_propagate(0)
20 frmLC.grid_propagate(0)
21 frmLB.grid_propagate(0)
22 frmRT.grid_propagate(0)'''
23 
24 #添加按鈕
25 btnSend = Button(frmLB, text='發(fā) 送', 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)
29 
30 #添加圖片
31 imgInfo = PhotoImage(file = "python_logo.gif")
32 lblImage = Label(frmRT, image = imgInfo)
33 lblImage.image = imgInfo
34 lblImage.grid()
35 
36 #固定容器大小
37 frmLT.grid_propagate(0)
38 frmLC.grid_propagate(0)
39 frmLB.grid_propagate(0)
40 frmRT.grid_propagate(0)
復(fù)制代碼

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約