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