Bind Tkinter按钮绑定
这是我的代码:Bind Tkinter按钮绑定,bind,tkinter,messagebox,Bind,Tkinter,Messagebox,这是我的代码: import Tkinter from Tkconstants import * tk = Tkinter.Tk() class MyApp: def __init__(self,parent): self.frame = Tkinter.Frame(tk,relief=RIDGE,borderwidth=2) self.frame.pack() self.message = Tkinter.Message(tk
import Tkinter
from Tkconstants import *
tk = Tkinter.Tk()
class MyApp:
def __init__(self,parent):
self.frame = Tkinter.Frame(tk,relief=RIDGE,borderwidth=2)
self.frame.pack()
self.message = Tkinter.Message(tk,text="Symbol Disolay")
label=Tkinter.Label(self.frame,text="Is Symbol Displayed")
label.pack()
self.button1=Tkinter.Button(self.frame,text="YES")
self.button1.pack(side=BOTTOM)
self.button1.bind("<Button-1>", self.button1Click)
self.button2=Tkinter.Button(self.frame,text="NO")
self.button2.pack()
self.button2.bind("<Button-1>", self.button2Click)
def button1Click(self, event):
"pressed yes"
def button2Click(self, event):
"pressed no"
myapp = MyApp(tk)
tk.mainloop()
导入Tkinter
从Tkconstants导入*
tk=Tkinter.tk()
MyApp类:
定义初始化(自身,父级):
self.frame=Tkinter.frame(tk,relief=RIDGE,borderwidth=2)
self.frame.pack()
self.message=Tkinter.message(tk,text=“Symbol Disolay”)
label=Tkinter.label(self.frame,text=“是否显示符号”)
label.pack()
self.button1=Tkinter.Button(self.frame,text=“YES”)
自动按钮1.包装(侧面=底部)
self.button1.bind(“,self.button1单击)
self.button2=Tkinter.Button(self.frame,text=“NO”)
self.button2.pack()
self.button2.bind(“,self.button2点击)
def按钮1单击(自身,事件):
“按是”
def按钮2单击(自身,事件):
“按“否”
myapp=myapp(tk)
tk.mainloop()
在button1Click()和button2Click()中我应该怎么做,以便它们以字符串格式向我的程序返回“是”或“否”简单地返回“按下的是”
会将字符串返回给TKinter处理程序,而TKinter处理程序会忽略它
您必须在click defs中执行某些操作,例如更新标签文本。您不能“返回”字符串,因为回调是从事件循环调用的,事件循环忽略回调返回的所有值,因为它不知道如何处理返回的值
如果希望对self.message小部件应用“是”或“否”,可以将回调更改为如下所示:
def button1Click(self, event):
self.message.configure(text="YES")
def button2Click(self, event):
self.message.configure(text="NO")
然后需要使消息小部件可见。例如,在代码中的某处添加“self.message.pack()”
如果您需要更具体的问题答案,您需要更好地描述“返回”的含义——是否希望看到标签中的文本、弹出对话框中的文本等。import Tkinter
import Tkinter
from Tkconstants import *
tk = Tkinter.Tk()
class MyApp:
def __init__(self,parent):
self.frame = Tkinter.Frame(tk,relief=RIDGE,borderwidth=2)
self.frame.pack()
self.message = Tkinter.Message(tk,text="Symbol Disolay")
label=Tkinter.Label(self.frame,text="Is Symbol Displayed")
label.pack()
self.button1=Tkinter.Button(self.frame,text="YES")
self.button1.pack(side=BOTTOM)
self.button1.bind("<Button-1>", self.button1Click)
self.button2=Tkinter.Button(self.frame,text="NO")
self.button2.pack()
self.button2.bind("<Button-1>", self.button2Click)
def button1Click(self, event):
return "YES"
def button2Click(self, event):
return "NO"
myapp = MyApp(tk)
tk.mainloop()
从Tkconstants导入*
tk=Tkinter.tk()
MyApp类:
定义初始化(自身,父级):
self.frame=Tkinter.frame(tk,relief=RIDGE,borderwidth=2)
self.frame.pack()
self.message=Tkinter.message(tk,text=“Symbol Disolay”)
label=Tkinter.label(self.frame,text=“是否显示符号”)
label.pack()
self.button1=Tkinter.Button(self.frame,text=“YES”)
自动按钮1.包装(侧面=底部)
self.button1.bind(“,self.button1单击)
self.button2=Tkinter.Button(self.frame,text=“NO”)
self.button2.pack()
self.button2.bind(“,self.button2点击)
def按钮1单击(自身,事件):
返回“是”
def按钮2单击(自身,事件):
返回“否”
myapp=myapp(tk)
tk.mainloop()
您能否更具体地说明“返回“是”或“否”的含义?事件不会“返回”,因为它们是从事件循环调用的。您想要更新小部件、在标准输出上返回某些内容、设置变量还是。。。?