如何在linux中使用Python的警告对话框?

时间:2015-08-30 15:59:45

标签: python linux ubuntu cross-platform

我的问题类似于this question,但我使用的是Xubuntu,因此win32 api显然无法使用。我可以使用一些替代方案吗?

我只需要在python脚本中弹出一个带有消息的简单窗口。

3 个答案:

答案 0 :(得分:10)

您可以使用跨平台的Tkinter执行此操作,并且通常与标准Python包捆绑在一起。

import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('alert title', 'Bad things happened!')

(在Python 3上,您需要将第一行更改为import tkinter as tkimport tkMessageBox行变为from tkinter import messagebox,并且最后一行需要进行匹配更改。< / p>

接下来的两行为应用程序创建一个根窗口(所有Tkinter程序都需要),但然后使该窗口不可见。最后我们会显示警报。

可能需要在使用Tkinter之前在Ubuntu发行版中安装python-tk(即sudo apt-get install python-tk - 在某些发行版中默认不安装它。

答案 1 :(得分:2)

这个答案基于PM 2Ring回答:

我在关闭消息框时遇到了一些问题,所以我这样做了:

import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()

答案 2 :(得分:1)

要创建通知而不是需要关闭的对话框,可以使用notify-send,如下所示。这也不需要安装python-tk或其他软件包。

import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])

有关更多选项,请参见man page