如何设置 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