显示tkinter消息框时,隐藏root窗口

2020年5月31日 / 2,376次阅读 / Last Modified 2020年5月31日
tkinter

有的时候我们在做GUI程序的时候,需要在显示消息框时,隐藏主窗口,即root窗口。默认情况,tkinter会自动创建一个root窗口出来,看着有点讨厌。

比如:

from tkinter import messagebox as msgbox
msgbox.showinfo('i\'m showinfo','Now you are at www.pynote.net! Welcome...:)')

执行时,是这样的:

默认出现了root窗口
默认出现了root窗口

因此,我们需要修改一下代码:

import tkinter as tk
from tkinter import messagebox as msgbox

root = tk.Tk()
root.withdraw()
rv= msgbox.showinfo('i\'m showinfo','Now you are at www.pynote.net! Welcome...:)')
print(rv)
root.wm_deiconify()
root.mainloop()

这样就OK了,程序首先主动创建root,并调用root.withdraw,然后显示msgbox,并阻塞,msgbox的返回值也能够被直接获取。然后重新画出root窗口,最后进入mainloop。

其实,root.wm_deiconify和root.mainloop可以不需要,这样就可以编写console程序,并且配合msgbox的交互。

-- EOF --

本文链接:https://www.pynote.net/archives/2029

留言区

您的电子邮箱地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top