我正在使用Python创建测试脚本。我需要在脚本继续运行时向用户显示一条消息。这是为了进行一些状态更新,例如:“保存测试结果”,不应等待用户点击“确定”。基本上,我需要创建一个弹出和关闭的消息,而无需用户执行此操作。
目前,我正在使用easygui模块添加GUI.Easygui可以用于创建这样的消息框但是它们不能在代码中关闭,需要等待用户关闭它们才能使脚本继续运行。
提前感谢您的时间和帮助。
Kavitha
答案 0 :(得分:1)
要在超时时强行删除使用easygui创建的消息框,您可以使用.after()
方法:
from Tkinter import Tk
from contextlib import contextmanager
@contextmanager
def tk(timeout=5):
root = Tk() # default root
root.withdraw() # remove from the screen
# destroy all widgets in `timeout` seconds
func_id = root.after(int(1000*timeout), root.quit)
try:
yield root
finally: # cleanup
root.after_cancel(func_id) # cancel callback
root.destroy()
import easygui
with tk(timeout=1.5):
easygui.msgbox('message') # it blocks for at most `timeout` seconds
easygui
不太适合您的用例。考虑
unittestgui.py或Jenkins。
答案 1 :(得分:0)
如果您已开始创建GUI,则应该能够使用textbox()
功能。文本框可以用作状态消息的位置,而不是显示单独的对话窗口。
我得到了textbox()
here的以下说明:
textbox(msg ='',title ='',text ='',codebox = 0)
在a中显示一些文字 比例字体与换行换行。这个功能是 适合显示一般书面文字。文本参数 应该是一个字符串,或者要在其中显示的行的列表或元组 文本框。