类型错误:get()至少需要2个参数,给定1个

时间:2014-07-29 07:16:35

标签: python get tkinter arguments

我正在尝试创建一个语句来检查TextBox是否为空,如果不是这样,并且TextBox不为空,那么我希望textBox自己刷新。

我尝试了以下内容:

if (len(self.txtBox.get() != 0)): 
        self.txtBox.update()
        print "Textbox was not empty" 

但是我收到以下错误,'类型错误:get()至少需要2个参数,1个给定'。我知道错误表明我应该在get函数中传递一个参数,但是我已经看到使用get()函数的代码片段而没有传递任何参数,并且无论哪种方式我都不知道我应该传递什么参数。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

没有名为" TextBox"的小部件,所以我不知道你是在谈论Entry小部件还是Text小部件。可以在没有参数的情况下调用条目窗口小部件的get方法,但文本窗口小部件的get方法需要两个参数。这两个参数是区域的起点和终点。

要获取文本小部件中的所有内容,您应该这样做:

self.txtBox.get("1.0", "end-1c")

"1.0"代表第一个字符,"end-1c"代表最后一个字符("结束")减去一个字符(" -1c")忽略tkinter本身总是添加的尾随换行符。

答案 1 :(得分:0)

来自python-tutor列表的

This old message可能有所帮助。这两个参数是奇怪的(在我看来:我不是Tk专家)指针,类似于字符串切片,但“指针”是十进制数,其中整数部分指定行,小数位指定字符号。