【问题标题】:How to get entry from Text Box. Python如何从文本框中获取条目。 Python
【发布时间】:2014-11-01 12:06:44
【问题描述】:

我已经制作了一个文本框和一个按钮。单击按钮时,它应在文本框中显示内容。

我遵循了一个教程,但我无法让它工作,所以我来到这里并找到了一个 thread 其他人有这个问题,但我仍然无法弄清楚为什么我的会出现这个错误.

AttributeError: 'NoneType' object has no attribute 'get'

这里是代码。

def send_feedback(*args):
    feedback = self.MyEntryBox.get("0.0",'END-1c')
    print(feedback)

self.MyEntryBox = Text(SWH, width=80, height=20, bd=5, fg="#0094FF",relief = RIDGE).place(x=200,y=400)
SubmitButton = Button(SWH, text="Submit", fg="White", bg="#0094FF", font=("Grobold",20),command=send_feedback).pack()

【问题讨论】:

    标签: python textbox tkinter


    【解决方案1】:

    您将None 分配给SubmitButtonself.MyEntryBox,因为这是widget.pack()widget.place() 返回的内容。

    相反,为每个小部件设置两行单独的行,以便为小部件分配一个可访问的名称​​然后在 UI 中定位小部件:

    self.MyEntryBox = Text(SWH, width=80, height=20, bd=5, fg="#0094FF", relief = RIDGE)
    self.MyEntryBox.place(x=200, y=400)
    SubmitButton = Button(SWH, text="Submit", fg="White", bg="#0094FF", 
                          font=("Grobold", 20), command=send_feedback)
    SubmitButton.pack()
    

    另外,SubmitButton 应该是像 MyEntryBox 这样的实例属性,如果你 packed 或 placed 一切可能会更容易,而不是试图混合搭配。

    【讨论】:

    • 好东西!非常感谢。关于 .pack() 和 .place() 我在整个程序中使用 .place ,就在我让这个页面工作时,为了简单起见,我只是打包了按钮。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多