【问题标题】:Tkinter treeview resizing the treeview to fit screenTkinter 树视图调整树视图的大小以适合屏幕
【发布时间】:2020-09-19 22:18:05
【问题描述】:

我在让树视图调整到 tkinter 窗口的大小时遇到​​了一个小问题,并且似乎无法从谷歌得到答案。下面的代码工作正常,除了它在“屏幕”内似乎有固定大小。我尝试了各种版本的“填充”和“拉伸”,但我似乎无法做到正确。谁能帮我解释一下?

代码:

import tkinter as tk
from tkinter import ttk

screen = tk.Tk() 
screen.title('This One')
screen.geometry('890x400')

cols = ('TOKEN', 'F-500', 'F-250', 'F-100', 'F-24', 'POS','NEG', 'NULL', 'VOLUME', 'VOLUME-FUT', 'RPP')
box = ttk.Treeview(screen, columns=cols, show='headings')
for col in cols:
    box.heading(col, text=col)
    box.grid(row=1, column=0, columnspan=2)


box.column("TOKEN", width=95)
box.column("F-500", width=85, anchor='e')
box.column("F-250", width=85, anchor='e')
box.column("F-100", width=85, anchor='e')
box.column("F-24", width=85, anchor='e')
box.column("POS", width=75, anchor='center')
box.column("NEG", width=75, anchor='center')
box.column("NULL", width=75, anchor='center')
box.column("VOLUME", width=90, anchor='center')
box.column("VOLUME-FUT", width=90, anchor='center')
box.column("RPP", width=45, anchor='center')

showScores = tk.Button(screen, text="Update", width=15).grid(row=10, column=1)
closeButton = tk.Button(screen, text="Close", width=15, command=exit).grid(row=10, column=0)

screen.mainloop()

这可能是一件非常简单的事情,但我就是看不到!

谢谢,

莫特

【问题讨论】:

  • 我已经添加了答案,请告诉我
  • 您好,感谢您的帮助。它似乎对我不起作用,因为它现在只是使树视图粘在屏幕底部而不是填充可用空间....当我使用此窗口全屏显示时,树视图仅位于底部tkinter windows 而不是扩展以适应可用空间。
  • 我不知道 screen.resizable 这很棒,但是这个树视图最终会有很多行,如果能够调整它的大小以查看更多内容,那就太好了当前可见的十行左右。
  • 我已经更新了答案

标签: tkinter resize treeview


【解决方案1】:

试着先这样说:

screen.grid_rowconfigure(1, weight=1)
screen.grid_columnconfigure(0, weight=1)

并确保还为树视图说 sticky='nsew',例如:

box.grid(row=1, column=0, columnspan=2,sticky='nsew') #say sticky='nsew'

这就是你所说的适合屏幕的意思吗?当您调整窗口大小时,这将确保树视图始终适合屏幕。

另一种方法是禁用调整整个窗口的大小,方法是说screen.resizable(0,0)

希望这个答案对您有所帮助,如果有任何错误或疑问,请告诉我。

干杯

【讨论】:

  • 应该是 screen.grid_rowconfigure(1, weight=1),因为 Treeview 放在第 1 行。
  • 做到了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多