实现等待用户在现有代码中输入的功能

时间:2019-03-20 14:19:49

标签: python tkinter

我目前正在扩展现有程序的功能。 我的添加是应该在发现错误后停止程序的主要功能,以使用户能够修复错误,然后继续执行主要功能。

我现在遇到的问题是,在给出通过tkinter的用户输入之前,我不知道如何实现“等待功能”来停止主要功能。 另外我想问问mainloop()是否有替代方法,例如,每个主函数循环仅刷新一次ui

我是一名工程师,没有程序员,所以对凌乱的代码和缺乏适当的术语感到抱歉。

到目前为止,我的实现方式是

在主要功能中:

if Total_Errors != 0:

  os.startfile(root)
  Error_Window(root)

主要功能之外:

def Error_Window(root):

  import tkinter

  ErrorWindow = tkinter.Tk()
  ErrorWindow.title("Error found")
  ErrorWindow.resizable(0,0)
  tkinter.Label(ErrorWindow, text="Error fount at:").pack(padx=10, pady=0)
  tkinter.Label(ErrorWindow, text=root,).pack(padx=10, pady=0)
  tkinter.Button(ErrorWindow, text="Ignore", command=PlaceHolder).pack(padx=10, pady=10)
  tkinter.Button(ErrorWindow, text="Continue", command=PlaceHolder).pack(padx=10, pady=10) 
  ErrorWindow.mainloop()

请就我的问题如何得到改进提出建设性批评。

1 个答案:

答案 0 :(得分:0)

使用@stovfl建议的使用Dialog Windows的.wait_window方法,我能够解决我的问题:

我使用如下代码片段将整个“ ErrorWindow”实现到循环的主要功能中:

(int*)