[英]Unable to get entry in tkinter, python
我是编码新手,我正在尝试使用 python 中的 tkinter 从条目中获取输入。 理论上,我应该单击“上传”按钮,然后代码将获取条目并为我打印,但这不起作用。 这是我的代码。
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
def cancel():
quit()
def upload():
Entry.get()
print(Entry)
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
whitebutton = Entry(frame, fg="black")
whitebutton.pack( side = TOP)
redbutton = Button(frame, text="Cancel", fg="red", command = cancel)
redbutton.pack( side = LEFT)
bluebutton = Button(frame, text="Upload URL", fg="blue", command = upload)
bluebutton.pack( side = RIGHT )
root.mainloop()
有谁知道这里出了什么问题? 谢谢,基兰。
Entry
是__init__
文件夹中__init__
文件中的一个类。
取而代之的是:
Entry.get()
print(Entry)
这就是你需要的
var=whitebutton.get()
print(var)
首先,最好使用 Tkinter 变量而不是普通的 python 变量。 在这里,您需要使用StringVar()
来设置和获取来自条目的用户输入。 所以完整的代码 -
from tkinter import *
root = Tk()
var = StringVar()
frame = Frame(root)
frame.pack()
def cancel():
quit()
def upload():
print(var.get())
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
whitebutton = Entry(frame,textvariable=var ,fg="black")
whitebutton.pack( side = TOP)
redbutton = Button(frame, text="Cancel", fg="red", command = cancel)
redbutton.pack( side = LEFT)
bluebutton = Button(frame, text="Upload URL", fg="blue", command = upload)
bluebutton.pack( side = RIGHT )
root.mainloop()
将root var 放在 root.mainloop() 之前
并制作应用程序变量并放入“应用程序(root)”
然后将 ""root".mainloop()" 更改为 "app.mainlop()"
import tkinter as tk
// your code
root = tk.Tk()
app = Application(root)
app.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.