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()
您能否更具体地说明“返回“是”或“否”的含义?事件不会“返回”,因为它们是从事件循环调用的。您想要更新小部件、在标准输出上返回某些内容、设置变量还是。。。?