我的问题类似于this question,但我使用的是Xubuntu,因此win32 api显然无法使用。我可以使用一些替代方案吗?
我只需要在python脚本中弹出一个带有消息的简单窗口。
答案 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 tk
。import 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。