Python tkinter使用网格将文本小部件设置到窗口底部
我是一个全新的使用tkinter的人,目前正在使用grid。我已经将我的窗口设置为1000x500,在左上角有一个像这样的图像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,
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。阅读