如何调整 tkinter 列表框的大小以适应整个框架?
How to resize tkinter Listbox to fit entire frame?
我在使用 tkinter 网格方法调整 Listbox
大小以适应整个框架时遇到了一些问题。
代码片段:
Label(master, text = 'Total Profit :').grid(row = 5, sticky = W)
Label(master, text = 'Total Loss: ').grid(row = 7, sticky = W)
Label(master, text = 'Day Profit :').grid(row = 5, column = 2, sticky = W)
Label(master, text = 'Day Loss :').grid(row = 7, column = 2, sticky = W)
Label(master, text = 'PORTFOLIO VALUE :').grid(row = 9, column = 0, sticky = W)
Label(master, text = 'CREATE ORDER (SYM, #): ').grid(row = 11, column = 0, sticky = W)
stepTwo = LabelFrame(master, text="ORDERS: ")
stepTwo.grid(rowspan=10, columnspan=10, sticky='nsew',
padx=5, pady=5, ipadx=5, ipady=5)
listbox = Listbox(stepTwo)
listbox.grid(rowspan = 10, columnspan = 10, sticky = 'nsew')
当前图形界面:
使用这么大的行号和列号没有意义。 stepTwo
内的网格独立于 master
.
内的网格
在这种情况下,使用pack
最简单:
listbox.pack(fill="both", expand=True)
如果你坚持使用grid
,你需要遵循经验法则,你需要至少给一行和一列一个non-zero权重,以便网格知道如何分配任何额外的 space.
示例:
stepTwo.grid_rowconfigure(0, weight=1)
stepTwo.grid_columnconfigure(0, weight=1)
listbox.grid(row=0, column=0, sticky = 'nsew')
我在使用 tkinter 网格方法调整 Listbox
大小以适应整个框架时遇到了一些问题。
代码片段:
Label(master, text = 'Total Profit :').grid(row = 5, sticky = W)
Label(master, text = 'Total Loss: ').grid(row = 7, sticky = W)
Label(master, text = 'Day Profit :').grid(row = 5, column = 2, sticky = W)
Label(master, text = 'Day Loss :').grid(row = 7, column = 2, sticky = W)
Label(master, text = 'PORTFOLIO VALUE :').grid(row = 9, column = 0, sticky = W)
Label(master, text = 'CREATE ORDER (SYM, #): ').grid(row = 11, column = 0, sticky = W)
stepTwo = LabelFrame(master, text="ORDERS: ")
stepTwo.grid(rowspan=10, columnspan=10, sticky='nsew',
padx=5, pady=5, ipadx=5, ipady=5)
listbox = Listbox(stepTwo)
listbox.grid(rowspan = 10, columnspan = 10, sticky = 'nsew')
当前图形界面:
使用这么大的行号和列号没有意义。 stepTwo
内的网格独立于 master
.
在这种情况下,使用pack
最简单:
listbox.pack(fill="both", expand=True)
如果你坚持使用grid
,你需要遵循经验法则,你需要至少给一行和一列一个non-zero权重,以便网格知道如何分配任何额外的 space.
示例:
stepTwo.grid_rowconfigure(0, weight=1)
stepTwo.grid_columnconfigure(0, weight=1)
listbox.grid(row=0, column=0, sticky = 'nsew')