如何在python中使弹出命令工作

时间:2017-09-03 12:17:34

标签: python popup

所以我试图制作一个弹出屏幕。我的代码如下:

def Popup_scale():
    popup = Tk()
    popup.wm_title("!")
    label = Label(popup, text="Controleer of de weegschaal is aangesloten!", font=LETTER_20)
    label.pack(side='top', fill='x', padx=10)
    label = Label(popup, text="En druk daarna op Oké", font=LETTER_20)
    label.pack(side='top', fill='x', pady = 10, padx=10)
    B_ok = Button(popup, text='oké', command = popup.destroy, font=LETTER_20)
    B_ok.pack(pady=10)
    popup.mainloop()

现在这个工作正常,但是每当我按下“Oke”按钮时我都希望我的程序重启。因此我使用此命令:

os.execv(sys.executable, ['python'] + sys.argv)

但是当我使用该命令而不是popup.destroy时,程序会在创建按钮的那一刻执行命令。我无法弄清楚为什么。当我将代码更改为以下代码时:

def Popup_scale():
    def Reboot():
        popup.destroy
    popup = Tk()
    popup.wm_title("!")
    label = Label(popup, text="Controleer of de weegschaal is aangesloten!", font=LETTER_20)
    label.pack(side='top', fill='x', padx=10)
    label = Label(popup, text="En druk daarna op Oké", font=LETTER_20)
    label.pack(side='top', fill='x', pady = 10, padx=10)
    B_ok = Button(popup, text='oké', command = Reboot(), font=LETTER_20)
    B_ok.pack(pady=10)
    popup.mainloop()

destroy命令将不再起作用。但是,如果我使用此代码但是使用de reboot程序行,则在创建按钮时,程序执行命令会遇到同样的问题。

我做错了什么?

0 个答案:

没有答案