2

我想在另一个下放置一个条目和一个文本标签,并且宽度相同。

这是我的代码:

from tkinter import * 

root = Tk()

title = StringVar()
title_entry = Entry(root, textvariable=title, width=30)
title_entry.pack()


content_text = Text(root, width=30)
content_text.pack()

root.mainloop()

但是我的 2 个小部件的宽度不同。有什么办法解决吗?

4

3 回答 3

3

小部件的大小不同可能是因为它们具有不同的默认字体。如果它们具有相同的字体和相同的宽度,它们应该具有相同的自然宽度。但是,实际宽度可能会受到它们在窗口中的放置方式的影响,并且通常有充分的理由为这些小部件使用不同的字体。

在您的情况下,最简单的解决方案是让每个小部件在 x 轴上填充容器。这确保了,无论它们的自然宽度如何,它们都会扩展以从边缘到边缘填充窗口:

title.pack(fill="x")
content_text.pack(fill="x")

如果这些是您仅有的两个小部件,您需要更进一步并指定其他选项以获得正确的调整大小行为:

title.pack(fill="x")
content_text.pack(fill="both", expand=True)
于 2013-05-20T10:46:05.227 回答
2

Text 和 Entry 小部件的宽度由字符数设置。我认为,文本和条目的默认字体大小可能不同。您可能必须在参数中设置字体大小?

于 2013-05-20T10:09:58.617 回答
1

您只需向 .pack 属性添加一个参数。把这个放进去:

.pack (fill=X)

把它放进去,两个小部件都会拉伸你窗口的所有宽度。

于 2013-06-08T19:12:19.960 回答