如何设置 Tkinter Entry 小部件的宽度(以像素为单位)?

问题描述 投票:0回答:4

我注意到 Tkinter 条目小部件的 width 参数以字符为单位,而不是像素。

是否可以调整像素宽度?

python tkinter widget width tkinter-entry
4个回答
22
投票

您还可以使用放置几何管理器:

entry.place(x=10, y=10, width=100) #width in pixels

6
投票

您无法使用“-width”选项指定宽度(以像素为单位),但有多种方法可以完成相同的任务。例如,您可以将条目打包到没有边框的框架中,关闭框架上的几何传播,然后设置框架的宽度(以像素为单位)。


3
投票

您可以在打包“Entry”小部件时使用“ipadx”和“ipady”。

您也可以将其与“网格”一起使用。

import tkinter as tk

root = tk.Tk

e = tk.Entry()
e.pack(ipadx=100, ipady=15)

tk.mainloop()


0
投票

仍然可以用数学来设置条目小部件的宽度,看看是否将条目小部件的宽度设置为 1,这意味着条目小部件只能容纳一个字符,并且在大多数平台中默认点在字体(没有 --font 条目)在 90 DPI 下为 1.33px,因此,有了这些信息,您可以尝试这段代码``

import tkinter as tk
root = tk.Tk()

fontpoints = 1 # font size is 1 (change this if needed)
width = 1.33 * fontpoints
var = DoubleVar()

entry = tk.Entry(root, variable=var, width=width, font=fontpoints)
entry.pack()
© www.soinside.com 2019 - 2024. All rights reserved.