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

Jinku Hu 2023年1月30日 2020年3月28日
  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 方法

Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

相關文章 - Tkinter Entry