python treeview显示网格_无法使用tkin上的网格调整treeview的大小

本文介绍了如何解决Python Treeview在Tkinter应用中无法正确显示网格和调整大小的问题。关键在于使用Frame作为Widget的父级,并通过`pack(fill='both', expand=True)`和`columnconfigure`、`rowconfigure`方法来确保Frame和Treeview能正确填充窗口空间。示例代码展示了如何创建带有按钮、选项菜单和滚动条的Treeview界面。" 82719037,7497951,Java与数据库共建文物管理系统,"['JAVA', '数据库设计', 'SQL', 'Swing', '数据库安全']
摘要由CSDN通过智能技术生成

第一:如果使用Frame来创建类,那么应该使用这个框架(self)作为小部件的父级(而不是使用root)

之后。。。在

第二:必须调整Frame(self)的大小,这样它将使用完整的窗口self.pack(fill='both', expand=True)

因为Treeview在Frame内,所以必须将columnconfigure与{}一起使用

^{pr2}$

工作实例。我评论了command=来运行它。在

(顺便说一句:我在Frame中使用了bg="red"来查看Frame是否正在调整大小)

^{3}$

为了更好地组织按钮和选项菜单,您可能需要在第一行中使用frame。在

e5afc7d876ebf1d1594dcac57a472345.png

编辑:更改某些grid()中的选项并更改rowconfigure()之后

6c14e8e3cfd98b72a89e42eac20e4fea.pngimport tkinter as tk

from tkinter import ttk

class Main(tk.Frame):

def __init__(self, master):

self.master = master

tk.Frame.__init__(self, self.master) # , bg="red")

self.pack(fill='both', expand=True)

self.create_widgets()

def create_widgets(self):

# button to request data

self.request_button = tk.Button(self, text="Send") #, command=self.req_client)

self.request_button.grid(row=0, column=0, rowspan=2)

# timer label

self.timer_label = tk.Label(self, text="Timer Settings")

self.timer_label.grid(row=0, column=1, pady=3, sticky=tk.NSEW)

# create tk variable

self.timervar = tk.StringVar(self)

# dropdown dictionary

self.timerDict = {"-", "5 minutes", "10 minutes", "15 minutes"}

self.timervar.set("-") # < set the default value

# timer dropdown menu

self.timer_option = tk.OptionMenu(self, self.timervar, *self.timerDict) #, command=self.req_timer)

self.timer_option.grid(row=1, column=1, padx=3, pady=3, sticky=tk.NSEW)

# scroll bar for the terminal outputs

self.terminal_scrollbar = tk.Scrollbar(self)

self.terminal_scrollbar.grid(row=2, column=5, sticky=tk.NS)

# terminal output

self.terminal_tree = ttk.Treeview(self)

self.terminal_tree.grid(row=2, column=0, columnspan=3, sticky=tk.NSEW)

self.terminal_tree.configure(yscrollcommand=self.terminal_scrollbar.set)

self.terminal_tree["columns"] = ("1")

self.terminal_tree['show'] = 'headings'

self.terminal_tree.column("1", width=100, anchor='c')

self.terminal_tree.heading("1", text="Example")

self.columnconfigure(2, weight=1) # column with treeview

self.rowconfigure(2, weight=1) # row with treeview

root = tk.Tk()

Main(root)

root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值