我有一个网格布局的简单窗口,右侧有一个画布和一些标签。它们的位置和大小正确 - 但是当我将窗口调整到右侧时,它们确实会扩大,但只有大约一半(即,对于我扩大窗口的右侧每 2 个像素,它们的小部件只会扩大 1) . 我有他们各自的列加权,以及父框架的列加权。我不知道如何解决这个问题,也没有通过谷歌搜索找到类似的东西。下面我发布了我的代码,以及应用程序启动时与我调整大小时的小部件屏幕截图。代码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()截图
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
唯一根据窗口大小调整大小的定位命令是 pack()。众所周知,您具有以下功能:
pack()
grid()
place()
顺便说一句,我建议使用 place 函数并使用它:
window.resizable(width=False, height=False)
此功能阻止客户端调整 tkinter 窗口大小的能力。
添加回答
举报
0/150
提交
取消