Tkinter文本插入:“Nonetype”对象没有属性“insert”

2024-09-27 07:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说对编程比较陌生,一直在尝试为Python创建一个简单的聊天客户端。正在尝试使用GUI,遇到了如下所示的问题。

我有一个正常工作的GUI,使用“example.get()”函数从输入框中检索字符串文本。然后程序将文本打印到命令提示符(只是为了证明它已经被检索到),然后应该将其放在文本框中,但是它会给我一个“Nonetype”错误。代码如下。有人知道怎么解决这个问题吗?

谢谢

from tkinter import *

#Create GUI
root=Tk()
root.title("Chat test")
root.geometry("450x450+300+300")

#Declare variables
msg=StringVar()

#Get and post text to chat log
def postaction():
    msg1=msg.get()
    print(msg1)
    chatlog.insert(INSERT,msg1+'\n')
    root.mainloop()

#Build GUI components
chatlog=Text(root, height=10, state=DISABLED).pack(side=TOP, fill=X)
entry=Entry(root, textvariable=msg).pack(side=BOTTOM, fill=X)
button=Button(root, command=postaction, text="Button").pack()

Tags: text文本get编程guibuttonmsgroot
1条回答
网友
1楼 · 发布于 2024-09-27 07:34:34

小部件的.pack方法总是返回None。因此,您需要将对.pack的调用放在它们自己的行上:

chatlog=Text(root, height=10, state=DISABLED)
chatlog.pack(side=TOP, fill=X)
entry=Entry(root, textvariable=msg)
entry.pack(side=BOTTOM, fill=X)
button=Button(root, command=postaction, text="Button")
button.pack()

相关问题 更多 >

    热门问题