为一个按钮绑定两个命令

时间:2015-05-16 11:09:52

标签: python tkinter

我是一个完整的编程初学者。我想用一个按钮组合两个过程“好”'在tkinter。

我希望程序根据用户输入执行。如果有人输入Arrival(vehicle),我希望程序以一种方式执行,如果有人输入“离开(车辆)'”,我希望以另一种方式执行该程序。 / p>

如何使用一个ok按钮执行此操作?

这是我的方式,它不会工作!当我输入车辆号码,到达方法和离开方法都将被执行!

def OkClicked1(event=None):
    stepwindow.delete(0,END)

    vehicle=str(txtEntrXpression.get())

    Arrival(vehicle)

    Departure(vehicle)

1 个答案:

答案 0 :(得分:1)

如果您希望在不同情况下为同一按钮提供不同的功能,则应在窗口中显示条目或文本框。用户将指定一些细节,以帮助程序区分到达和离开。

(我使用的是Python 3.3)

您可以通过以下方式使用它:

textbox1 = tkinter.Entry(root)
textbox1.pack()
OkButton = tkinter.Button(root, text = "Ok", command = lambda: OkClicked(textbox1)

最后一行将确保文本框传递给OnClicked函数。

OnClicked功能中,你可以拥有:

def OnClicked(textbox1, event=None):
    text = textbox1.get()

    stepwindow.delete(0,END)
    vehicle=str(txtEntrXpression.get())

    if text == "Arrival":
        Arrival(vehicle)
    elif text == "Departure":
        Departure(vehicle)

“抵达”和“出发”只是建议。当然,你可以用任何字符串代替它们。

我希望这适合你。