繁体   English   中英

如何在 Linux 中使用带有 Python 的警报对话框?

[英]How can I use an alert dialog with Python in linux?

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

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

您可以使用跨平台的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 import tkinter as tk 。并且import tkMessageBoxfrom tkinter import messagebox import tkMessageBox from tkinter import messagebox变为,并且最后一行需要进行匹配更改)。

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

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

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

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

有关更多选项,请参阅手册页

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

关闭消息框我有一些问题,所以我这样做:

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

对于 Python3:

from tkinter import *
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showwarning('alert title', 'Bad things happened!')

您需要安装 tkinter:

sudo apt-get install python3-tk 

另一个解决方案是使用pyautogui

import pyautogui as pag
pag.alert(text="Bad things happened!", title="alert title")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM