Tkinter小部件的大小未按预期调整

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

很抱歉,这是一个简单的解决方法-我是tkinter(和一般的图形应用程序)的新手,而且我正在学习中。

我在网格布局中有一个简单的窗口,在其右侧有一个画布和一些标签。它们的位置和大小正确无误-但是当我向右调整窗口大小时,它们确实会扩展,但只有一半左右(即,向右扩展窗口的每2个像素,它们的小部件只会扩展1) 。我对它们各自的列进行了加权,并对父框架的列进行了加权。我不确定该如何解决,也没有通过Googling找到类似的东西。在下面,我已经发布了我的代码以及启动应用程序与调整大小时的小部件的屏幕截图。

CODE

from tkinter import *

root = Tk()
root.title("title")

mainframe = Frame(root)
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)


canvas = Canvas(mainframe, width=800, height=800)
canvas.grid(row=1, column=1, rowspan=3)

info_label = Label(mainframe, text='Info Label', bg='white', relief='solid', borderwidth=1)
info_label.grid(row=1, column=2, columnspan=2)

chatbox = Label(mainframe, text='Welcome to the application.', bg='white', relief='solid', borderwidth=1)
chatbox.grid(row=2, column=2, columnspan=2, sticky=(N,S,E,W))

chat_entry = Entry(mainframe)
chat_entry.grid(row=3, column=2)

chat_send = Button(mainframe, text='Send')
chat_send.grid(row=3, column=3)

mainframe.rowconfigure(1, weight=1)
mainframe.rowconfigure(2, weight=1)
mainframe.columnconfigure(2, weight=1)

root.columnconfigure(1, weight=1)

root.mainloop()

SCREENSHOTS

[enter image description here enter image description here

很抱歉,这是一个简单的解决方法-我是tkinter(和一般的图形应用程序)的新手,并且我正在逐步学习。我在网格布局中有一个简单的窗口,其中有一个画布和一些要显示的标签...

python tkinter grid-layout
1个回答
0
投票

唯一根据窗口大小调整大小的定位命令是pack()。众所周知,您具有以下功能:

© www.soinside.com 2019 - 2024. All rights reserved.