我有一個網格布局的簡單窗口,右側有一個畫布和一些標簽。它們的位置和大小正確 - 但是當我將窗口調整到右側時,它們確實會擴大,但只有大約一半(即,對于我擴大窗口的右側每 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
提交
取消