python tkinter 布局

來源:互聯網
上載者:User

標籤:imp   取值   row   href   文章   grid   單位   center   參數   

pack布局

 pack 函數預設先使用的放到上面,然後依次向下排,水平位置置中(相對父視窗)

 pack  參數 [ 參數值必須大寫 ]

  side:按扭停靠在視窗的哪個位置 

   left:左 、 top: 上 、right: 右、botton:下

  fill:填充

   x:水平方向填充、y:豎直方向填充、both:水平和豎直方向填充、none:不填充

   expand:是否擴充空白區

   yes:擴充整個空白區、no:不擴充     

  anchor:位置

    N:北  下、E:東  右、S:南 下、W:西 左、CENTER:中間 

 padx: x方向的外邊距

 pady: y方向的外邊距

 ipadx: x方向的內邊距

 ipady: y方向的內邊距 

from tkinter import *root = Tk()Button(root,text=‘G‘).pack(anchor=E,padx=20)root.mainloop()

 

 grid 布局

 grid 函數也支援諸如 ipadx,ipady,padx,pady,它們 的意思和 pack 函數是一樣的,預設邊距是 0;

 grid 布局是網格格式 ,用 row 表示行,用 column 表示列,其中值得 注意的是 row 和 column 的編號都從 0 開始

 grid 參數 

  row 表示行

  column 表示列  

  sticky:它決定了這個組件是從哪個方向開始的

    N:北 上、E:東 右、S:南 下、W:西 左

  rowspan :  跨越(合并)的行數

  columnspan:  跨越(合并)的列數

from tkinter import *tk=Tk()var=IntVar()#標籤控制項,顯示文本和位元影像,展示在第一行Label(tk,text="First").grid(row=0,sticky=E)#靠右Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左#輸入控制項Entry(tk).grid(row=0,column=1,padx=10,pady=10)Entry(tk).grid(row=1,column=1)#多選框外掛程式button=Checkbutton(tk,text="Precerve aspect",variable=var)button.grid(row=2,columnspan=2,sticky=W)#插入圖片photo=PhotoImage(file="wm.png")label=Label(image=photo)label.grid(row=0,column=2,rowspan=2,columnspan=2,           sticky=W+E+N+S, padx=5, pady=5)#合并兩行,兩列,置中,四周外延5個長度#按鈕控制項button1=Button(tk,text="Zoom in")button1.grid(row=2,column=2)button2=Button(tk,text="Zoom out")button2.grid(row=2,column=3)#主事件迴圈mainloop()

 

 

place 布局

  place 最簡單最靈活的一種布局,使用組件座標來放置組件的位置。但是不太推薦使用,在不同解析度下,介面往往有較大差異。  

  place 參數   

anchor:位置,預設值為 NW 同pack布局 

x、y: 組件左上方的x、y座標 整數,預設值0 絕對位置座標,單位像素

relx、rely :組件相對於父容器的x、y座標 0~1之間浮點數 相對位置,0.0表示左邊緣(或上邊緣),1.0表示右邊緣(或下邊緣)

width、height :組件的寬度、高度 非負整數 單位像素

relwidth、relheight :組件相對於父容器的寬度、高度 0~1之間浮點數 與relx(rely)取值相似

bordermode: 如果設定為INSIDE,組件內部的大小和位置是相對的,不包括邊框;如果是OUTSIDE,組件的外部大小是相對的,包括邊框 INSIDE、OUTSIDE(預設值INSIDE) 可以使用常量INSIDE、OUTSIDE,也可以使用字串形式”inside”、”outside”

from tkinter import *root = Tk()Button(root,text=‘G‘).place(x=20,y=30,width=30,height=40,bordermode=INSIDE)root.mainloop()

 

 相關文章:Python GUI之tkinter布局管理

python tkinter 布局

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.