Tkinter之使用padding屬性調節組件距離


給程序界面加了個菜單,導致菜單和組件的距離過近,非常難看。

 

 於是就想調一下組件和菜單的距離。

看了下文檔,有2種調節方式。

一種是調節組件的自身的選項來進行調節,一種是使用padding屬性進行調節。

我是要對整行的組件進行調節,單個組件調節不合適,選擇使用padding屬性進行調節。

 

根據官方文檔給出的示例程序,主要是通過使用將組件添加到ttk.Frame,再通過ttk.Frame的padding屬性進行調節。

注意:tkinter 的Frame是沒有padding屬性的!!!一定是得用ttk.Frame。

 

官方例子太復雜了,這里用我自己的例子。

例子的代碼如下:

from tkinter.ttk import *

inputFrame=Frame(root,padding=(10,5,10,0))


inputLabel=Label(inputFrame,text = "目標路徑:")
inputLabel.grid(row = 0, column = 0)
inputEntry=Entry(inputFrame, textvariable = inputPath)
inputEntry.grid(row = 0, column = 1)
inputButton=Button(inputFrame, text = "路徑選擇", command = selectInputPath)
inputButton.grid(row = 0, column = 2)

inputFrame.grid(row = 0, column = 0, columnspan=3)

下面對代碼進行說明。

首先引入ttk,引入 ttk 后,系統默認都是使用ttk的Frame。

from tkinter.ttk import *

創建一個ttk.Frame組件 inputFrame ,將其放置在主窗口root中,設置padding為 10,5,10,0

inputFrame=Frame(root,padding=(10,5,10,0))

這里說下padding四個參數的意義,四個參數分別代表不同位置的要填充的大小。

分別是左,上,右,下。

padding=(左,上,右,下)

將我要調節的那一行的組件全部放到 inputFrame 里面去。

以 inputLabel 為例

inputLabel=Label(inputFrame,text = "目標路徑:")

設置 inputLabel 在 inputFrame 內的布局,這個和我們在主窗口中使用grid布局的方式是一致的。

inputLabel.grid(row = 0, column = 0)

添加完所有要添加的組件到 inputFrame 中后,

最后設置 inputFrame 在主窗口 root 中的布局

inputFrame.grid(row = 0, column = 0, columnspan=3)

修改前程序截圖:

 

 

修改后程序截圖:

 

 

參考:https://tkdocs.com/tutorial/grid.html#padding


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM