Python 如果我们最大化窗口,则调整窗口小部件的大小
如果窗口最大化,我想扩展小部件。请查找下面的示例代码,如果我们运行此程序,我们将获得一些树状视图,但如果我们最大化窗口,则树状视图将移动到左角,是否有可能在最大化后使视图完全展开和适合。多谢各位Python 如果我们最大化窗口,则调整窗口小部件的大小,python,tkinter,Python,Tkinter,如果窗口最大化,我想扩展小部件。请查找下面的示例代码,如果我们运行此程序,我们将获得一些树状视图,但如果我们最大化窗口,则树状视图将移动到左角,是否有可能在最大化后使视图完全展开和适合。多谢各位 import os import tkinter as tk import tkinter.ttk as ttk import datetime import re import threading class Window: i=0 def __init__(self,master
import os
import tkinter as tk
import tkinter.ttk as ttk
import datetime
import re
import threading
class Window:
i=0
def __init__(self,master):
self.master=master
self.master.geometry('700x350+350+100')
self.label = tk.Label(self.master, text='Sample', font=("Arial", 20)).grid(row=0,columnspan=3)
cols = ('A','B','C')
self.treeview = ttk.Treeview(self.master, columns=cols)
v_scrollbar = ttk.Scrollbar(self.master, orient='vertical', command=self.treeview.yview)
self.treeview.config( yscrollcommand=v_scrollbar.set)
for col in cols:
self.treeview.heading(col, text=col)
self.treeview.column(col,minwidth=0,width=170)
self.treeview.grid(row=1, column=0)
v_scrollbar.grid(row=1, column=1, sticky='nes')
#--- main---
def main():
root = tk.Tk()
Window(root)
root.mainloop()
if __name__ == '__main__':
main()
首先添加:
self.master.rowconfigure(1, weight=1)
self.master.columnconfigure(0, weight=1)
告诉布局管理器展开放置treeview
的单元格以填充可用空间
然后将sticky='nsew'
添加到self.treeview.grid(…)
:
下面是修改后的\uuuuu init\uuuuu()
:
尝试使用pack()
?
self.treeview.grid(row=1, column=0, sticky='nsew')
def __init__(self,master):
self.master=master
self.master.geometry('700x350+350+100')
tk.Label(self.master, text='Sample', font=("Arial", 20)).grid(row=0,columnspan=3)
cols = ('A','B','C')
self.treeview = ttk.Treeview(self.master, columns=cols)
v_scrollbar = ttk.Scrollbar(self.master, orient='vertical', command=self.treeview.yview)
self.treeview.config( yscrollcommand=v_scrollbar.set)
for col in cols:
self.treeview.heading(col, text=col)
self.treeview.column(col,minwidth=0,width=170)
self.treeview.grid(row=1, column=0, sticky='nsew') # added sticky='nsew'
v_scrollbar.grid(row=1, column=1, sticky='ns')
# tell layout manager to expand the cell where the treeview is
self.master.rowconfigure(1, weight=1)
self.master.columnconfigure(0, weight=1)