Python TKinter 文本变量

1 投票
1 回答
1111 浏览
提问于 2025-04-16 18:21

我遇到了这个错误:
mySocket.send ( userInput )
TypeError: 必须是字符串或缓冲区,而不是实例

userInput = StringVar()
e = Entry(gui, textvariable=userInput)
e.pack()

def sendPacket():
mySocket = socket.socket (socket.AF_INET, socket.SOCK_DGRAM)
mySocket.connect ( ( 'CENSORED', 2727 ) )
mySocket.send ( userInput )

1 个回答

1

我对tkinter有点生疏了,但我觉得这只是个小失误——你需要使用 StringVar.get() 这个方法来获取实际的字符串,而不是直接引用 StringVar 这个对象。

mySocket.send ( userInput.get() )

撰写回答