Python tkinter使用网格将文本小部件设置到窗口底部

Python tkinter使用网格将文本小部件设置到窗口底部,python,tkinter,Python,Tkinter,我是一个全新的使用tkinter的人,目前正在使用grid。我已经将我的窗口设置为1000x500,在左上角有一个像这样的图像 window = Tk() window.geometry("1000x500") #Width x Height logo = PhotoImage(file="logo.gif") Label (window, image=logo, bg="#f0f0f0") .grid(row=0, column=0) T = Text(window, height=2,

我是一个全新的使用tkinter的人,目前正在使用grid。我已经将我的窗口设置为1000x500,在左上角有一个像这样的图像

window = Tk()
window.geometry("1000x500") #Width x Height

logo = PhotoImage(file="logo.gif")
Label (window, image=logo, bg="#f0f0f0") .grid(row=0, column=0)

T = Text(window, height=2, width=30)
T.insert(END, "Just a text Widget\nin two lines\n")
T.grid(row=2, column=0)
我希望文本小部件被放置在窗口的底部,我已经尝试将行设置为更大的值,但没有任何效果


我哪里出错了?

显然,最简单的方法是使用
.pack()

您的代码可以是:

from tkinter import *

window = Tk()
# window.geometry("1000x500") #Width x Height

logo = PhotoImage(file="xxx")
Label (window, image=logo, bg="#f0f0f0") .grid(row=0, column=0)

T = Text(window, height=2, width=30)
T.insert(END, "Just a text Widget\nin two lines\n")
T.grid(row=1, column=0, sticky=S)

window.grid_rowconfigure(1,weight=1)

window.mainloop()

请记住,如果您希望始终将其放在底部,并且只使用
.gird()
,则需要设置文本的行权重。因此,我建议您将所有小部件(底部的文本小部件除外)放在
框架中
。然后使用
.grid()
框架中的
文本使用
.pack()

你证明了吗?我觉得那不是OP想要的。重新思考你的最后一句话,你不能使用两个布局管理器,也不能重新表述你的意思。我的意思是,如果他想使用两种布局管理器,他可以使用一个框架将他的小部件放入
框架
(在框架中,他的所有小部件都可以使用
.grid()
),框架可以使用
.pack())
@stovfl:您可以在应用程序中混合使用
grid
pack
,但不能使用共享同一父/主控件的小部件。此答案中的建议是有效的建议。我哪里出错了?:您的第1行为空,因此布局管理器使用的高度为0。阅读