Tkinter Custom Widget rowconfigure missing argument' index'

时间:2018-05-08 13:36:55

标签: python user-interface tkinter widget

我写了一个自定义小部件,其中包含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;

我需要改变什么?这真的是要走的路吗?

1 个答案:

答案 0 :(得分:1)

您正在课堂rowconfigure上致电tk.Frame。相反,您应该在类实例上调用它,即self,所以:

self.rowconfigure(3, weight=1)

此外,如果您希望Treeview垂直拉伸,则应使用sticky='NS'