如何設定 Tkinter 文字輸入控制元件的高度和寬度

Jinku Hu 2023年1月30日
  1. Entry 文字輸入框控制元件中的 width 選項來設定寬度
  2. place 佈局方法中的 widthheight 選項來設定 Tkinter Entry 控制元件的 widthheight
  3. packgrid 佈局方法中的 ipadxipady 選項設定 Tkinter Entry 文字輸入框控制元件的寬度和高度
如何設定 Tkinter 文字輸入控制元件的高度和寬度

Tkinter Entry 文字輸入框控制元件是允許使用者輸入或顯示單行文字的控制元件。因此,通常不需要設定 Entry 控制元件的高度。但是它有一些方法可以設定 Tkinter Entry 控制元件的高度和寬度。

  1. Entry 控制元件中的 width 選項設定寬度
  2. place 方法中的 widthheight 選項設定 Tkinter Entry 控制元件的寬度和高度
  3. packgrid 方法中的 ipadxipady 選項來設定 Tkinter Entry 控制元件的寬度和高度。

Entry 文字輸入框控制元件中的 width 選項來設定寬度

如果僅需要指定 Entry 控制元件的寬度,則 Entry 控制元件中的 width 選項可能是最簡單的方法。

import tkinter as tk

app = tk.Tk()
app.geometry("400x200")

entryExample = tk.Entry(app, width=10)

entryExample.pack(side=tk.LEFT, padx=10)

app.mainloop()

Tkinter Entry 文字輸入框寬度選項

Tkinter Entry 文字輸入框控制元件中的 width 選項的單位是文字單位,而不是畫素。寬度中的一個文字單位等於系統字型中 0 的寬度。這就是為什麼當 width 設定為 10 時,它在上圖中可以顯示 10 個零的原因。

place 佈局方法中的 widthheight 選項來設定 Tkinter Entry 控制元件的 widthheight

place 佈局方法中的 widthheight 在視窗中設定控制元件的寬度和高度畫素單位。

import tkinter as tk

app = tk.Tk()
app.geometry("400x200")

entryExample = tk.Entry(app)
entryExample.place(x=10, y=10, width=200, height=100)

app.mainloop()

Tkinter Entry_width 和高度選項在放置方法中

packgrid 佈局方法中的 ipadxipady 選項設定 Tkinter Entry 文字輸入框控制元件的寬度和高度

ipadxipady 在水平和垂直方向上設定內部填充。它可以間接設定 Tkinter Entry 控制元件的寬度和高度。

使用 grid 方法的 Tkinter Entry 控制元件佈局如下,

Tkinter Entry_Width 和網格中的高度方法

Tkinter Entry 的實際寬度是 2*ipadx + 預設 Entry 寬度,類似地,Entry 的實際寬度是 2*ipady + 預設 Entry 高度

import tkinter as tk

app = tk.Tk()

entryExample1 = tk.Entry(app)
entryExample2 = tk.Entry(app)

entryExample1.grid(row=0, column=0, padx=10, pady=10, ipady=30)

entryExample2.grid(row=1, column=0, padx=10, pady=10, ipadx=20, ipady=30)

app.geometry("200x200")

app.mainloop()

Tkinter Entry_ipadx 網格方法

如上所示,由於 entryExample2ipadx 為 20,而 entryExample1ipadx 預設為 0,因此,entryExample2 的寬度比 entryExample1 寬 40 個畫素。

我們可以類似地設定 ipady 來更改 Tkinter Entry 控制元件的寬度。

import tkinter as tk

app = tk.Tk()

entryExample1 = tk.Entry(app)
entryExample2 = tk.Entry(app)

entryExample1.grid(row=0, column=0, padx=10, pady=10, ipady=50)

entryExample2.grid(row=0, column=1, padx=10, pady=10, ipady=60)

app.geometry("300x200")

app.mainloop()

Tkinter Entry_ipady 中的 grid 方法

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook

相關文章 - Tkinter Entry