python - 一个按钮绑定(bind)两个命令

标签 python tkinter

我是一个完全的编程初学者。我想在 tkinter 中将两个进程与一个按钮“确定”结合起来。

我希望程序根据用户输入执行。如果有人输入 Arrival(vehicle),我希望程序以一种方式执行,如果有人输入“departure(vehicle)”,我希望程序以另一种方式执行。

我怎样才能用一个确定按钮做到这一点?

这是我的方式,行不通!当我输入车号时,到达方式和出发方式都会被执行!

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

    vehicle=str(txtEntrXpression.get())

    Arrival(vehicle)

    Departure(vehicle)

最佳答案

如果你想在不同的情况下对同一个按钮有不同的功能,你应该在你的窗口中有一个条目或文本框。用户将指定一些有助于程序区分到达和离开的详细信息。

(我使用的是 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)

“到达”和“离开”只是建议。当然,您可以用任何字符串代替它们。

我希望这对你有用。

关于python - 一个按钮绑定(bind)两个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274896/

相关文章:

python - 旨在轻松迁移到 Google App Engine

Python,Pairwise 'distance',需要一种快速的方法来完成

python-3.x - Tkinter:当按 'Enter' 时,它会转到下一个文本框

Python tkinter root.after_cancel() 问题

Python "IOError: [Errno 21] Is a directory: '/home/thomasshera/Pictures/Star Wars'"

python - os.fork 和 multiprocessing.Process 之间的行为差​​异

python - 是不是约定俗成的说函数被调用,方法被调用?

python - pymongo排序返回没有排序键的记录

perl - 每当文本小部件中的光标位置发生变化时自动调用子程序

python - 同时执行 Tkinter 和 Shell 命令