我正在尝试制作可以反转用户输入的GUI,但是出了点问题
from tkinter import *
from tkinter.ttk import *
def reverse(s):
s=U.get()
return s[::-1]
root=Tk(className="Reverse your text")
la=Label(root, text="Enter text to reverse")
la.pack()
U=Entry(root,textvariable=s)
U.pack()
BT=Button(root, text="reverse", command=reverse(s))
BT.pack()
root.mainloop()
Error: U=Entry(root,textvariable=s)
NameError: name 's' is not defined
答案 0 :(得分:2)
def reverse(s):
不应该有s
。同样适用于command=reverse(s)
U=Entry(root,textvariable=s)
访问条目的值,则.get
不需要textvariable。无论如何,你不能在这里使用s
,因为你从未向s
分配一个StringVar对象。return s[::-1]
返回的值将不会以任何方式显示给用户。如果要显示反转的字符串,则需要将其打印或插入到条目中,或者类似。
from tkinter import *
from tkinter.ttk import *
def reverse():
s=U.get()
U.delete(0, END)
U.insert(0,s[::-1])
root=Tk(className="Reverse your text")
la=Label(root, text="Enter text to reverse")
la.pack()
U=Entry(root)
U.pack()
BT=Button(root, text="reverse", command=reverse)
BT.pack()
root.mainloop()
结果: