我写了一个自定义小部件,其中包含Label,Entry和Treeview。现在我希望自定义小部件填充我想要放置的框架。我认为rowconfigure是要去的东西。所以我的代码看起来像这样:
import tkinter as tk
import tkinter.ttk as ttk
class CustomWidget(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
tk.Frame.rowconfigure(3, weight=1)
self.Search_Text_Label = tk.Label(self, text="Search:",font=("Century Gothic",12))
self.Search_Text_Label.grid(row=1,column=1, sticky='W', padx=10)
self.entry = tk.Entry(self, width=30)
self.entry.grid(row=1,column=2, sticky='W')
self.entry.bind('<Return>',search)
self.tree = ttk.Treeview(self)
self.tree.state = "disabled"
self.tree.grid(row=2,column=1,columnspan=2, rowspan=2, sticky='S', pady=0, padx=20)
但我收到此错误消息:
TypeError:grid_rowconfigure()缺少1个必需的位置参数: &#39;指数&#39;
我需要改变什么?这真的是要走的路吗?
答案 0 :(得分:1)
您正在课堂rowconfigure
上致电tk.Frame
。相反,您应该在类实例上调用它,即self
,所以:
self.rowconfigure(3, weight=1)
此外,如果您希望Treeview垂直拉伸,则应使用sticky='NS'
。