如何在 Tkinter 中按高度调整输入框的大小?
在本文中,我们将看看如何在Python Tkinter 中调整 Entry Box 的高度。
条目小部件是用户可以使用它输入文本的小部件,它类似于 HTML 表单。在 Tkinter 中,Entry 小部件是一个常用的 Text 小部件,我们可以使用它来执行 set() 和 get() 方法。但是开发人员可能总是对输入框的默认大小感到厌烦。有两种不同的方法可以通过它的高度来调整输入框的大小。
方法1:通过增加字体大小
字体是文本的图形表示,可能包括不同的类型、大小、粗细或颜色。 font 可以在许多 Tkinter 小部件中作为参数传递。在创建 Tkinter 时更改字体是可选的,但许多开发人员不喜欢默认字体。这是将字体分配给 Tkinter 小部件的语法。
句法:
tkinter.widget(font=("font name",font size,"font weight"))
# must follow the order: name,size,weight (inside a tuple)
# additional arguments fg: foreground color; bg: background
# color
通过增加高度的大小,您最终可以增加高度的大小。通过减小字体大小,您最终会减小字体框的高度。
Python3
import tkinter as tk
root = tk.Tk()
# dimension of the GUI application
root.geometry("300x300")
# to make the GUI dimensions fixed
root.resizable(False, False)
# increase font size to increase height of entry box
using_font_resize = tk.Entry(font=("arial", 24), fg="white", bg="black")
using_font_resize.pack()
root.mainloop()
Python3
import tkinter as tk
root = tk.Tk()
# dimension of the GUI application
root.geometry("300x300")
# to make the GUI dimensions fixed
root.resizable(False, False)
# this is default entry box size
default_entry_box = tk.Entry(bg="blue", fg="white")
default_entry_box.pack()
# this is resized entry box with height 60
resizedHeight = tk.Entry(bg="green", fg="white")
resizedHeight.place(x=40, y=100, width=180, height=60)
root.mainloop()
输出:
方法 2:使用 place() 布局管理器
place() 是 Tkinter 中的布局管理器,就像 pack() 和 grid()。位置管理器的最大优点是您可以将小部件放置在小部件内的任何位置。 place() 方法通常采用 4 个参数:x、y、宽度和高度。 x 和 y 用于指定放置小部件的位置,而宽度和高度用于改变小部件的尺寸。所有这些参数都采用整数值。
由于 Entry Box 的默认尺寸很小,我们可以增加它的宽度和高度值。
句法:
widget.place(x=int,y=int,width=int,height=int)
Python3
import tkinter as tk
root = tk.Tk()
# dimension of the GUI application
root.geometry("300x300")
# to make the GUI dimensions fixed
root.resizable(False, False)
# this is default entry box size
default_entry_box = tk.Entry(bg="blue", fg="white")
default_entry_box.pack()
# this is resized entry box with height 60
resizedHeight = tk.Entry(bg="green", fg="white")
resizedHeight.place(x=40, y=100, width=180, height=60)
root.mainloop()
输出: