【 tkinter 模塊 12 】 佈局

絕對佈局

 

  •  窗口的大小變化對控件位置沒有影響

 

  •  代碼內容
import tkinter

# 創建主窗口
win = tkinter.Tk()

# 設置標題
win.title('絕對佈局')

# 設置大小和位置,前兩個x大小 後兩個+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三個',bg='blue')

# 絕對佈局 窗口的變化對位置沒有影響
label1.place(x=10,y=10)
label2.place(x=50,y=50)
label3.place(x=100,y=100)

# 進入消息循環
win.mainloop()

 

  •  代碼示例圖

 

  • 代碼解析
  1.  設置了三個 Label 標籤
  2. 使用 place 方法放在了固定的位置

 

相對佈局

 

  • 控件位置會根據窗口的變化而變化

 

  • 代碼內容
import tkinter

# 創建主窗口
win = tkinter.Tk()

# 設置標題
win.title('絕對佈局')

# 設置大小和位置,前兩個x大小 後兩個+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三個',bg='blue')

# 相對佈局 根據窗口的變化而變化
label1.pack(fill=tkinter.Y,side=tkinter.LEFT)
label2.pack(fill=tkinter.X,side=tkinter.TOP)
label3.pack(fill=tkinter.Y,side=tkinter.RIGHT)


# 進入消息循環
win.mainloop()

 

  • 代碼示例圖

 

  • 代碼解析
  1. 設置三個 Label 控件
  2. 第一個縱向填充( Y ),並且放在窗口的左側
  3. 第二個橫向填充( X ),並且放在窗口的頂端
  4. 第三個縱向填充( Y ),並且放在窗口的右側

 

表格佈局

 

  • 在窗口中分行分列顯示

 

  • 代碼內容
import tkinter

# 創建主窗口
win = tkinter.Tk()

# 設置標題
win.title('絕對佈局')

# 設置大小和位置,前兩個x大小 後兩個+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三個',bg='blue')
label4 = tkinter.Label(win,text='第4個',bg='purple')

label1.grid(row=0,column=0)
label2.grid(row=0,column=1)
label3.grid(row=1,column=0)
label4.grid(row=1,column=1)

# 進入消息循環
win.mainloop()
  • 代碼示例圖

 

  • 代碼解析
  1. 設置 4 個 Label 標籤
  2. 第一個 Label 放置在 0 行 0 列
  3. 第二個 Label 放置在 0 行 1 列
  4. 第三個 Label 放置在 1 行 0 列
  5. 第四個 Label 放置在 1 行 1 列

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章