如何在 linux 中使用带有 Python 的警告对话框?
How can I use an alert dialog with Python in linux?
我的问题和this question类似,但是我用的是Xubuntu,所以win32 api显然不可用。我可以使用其他替代方法吗?
我只需要一个简单的 window 弹出消息,来自 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
行变为from tkinter import messagebox
,并且需要匹配更改最后一行)。
接下来的两行为应用程序创建一个根 window(所有 Tkinter 程序都需要),然后使 window 不可见。最后我们显示警报。
您可能在使用 Tkinter 之前需要安装 python-tk(即 Ubuntu 发行版中的 sudo apt-get install python-tk
)——它不是由某些发行版的默认设置。
此答案基于 PM 2Ring 答案:
我在关闭消息框时遇到一些问题,所以我这样做了:
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
要创建需要关闭的通知而不是对话框,您可以使用 notify-send
,如下所示。这也不需要安装 python-tk
或其他软件包。
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
有关更多选项,请参阅 man page。
对于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")
我的问题和this question类似,但是我用的是Xubuntu,所以win32 api显然不可用。我可以使用其他替代方法吗?
我只需要一个简单的 window 弹出消息,来自 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
行变为from tkinter import messagebox
,并且需要匹配更改最后一行)。
接下来的两行为应用程序创建一个根 window(所有 Tkinter 程序都需要),然后使 window 不可见。最后我们显示警报。
您可能在使用 Tkinter 之前需要安装 python-tk(即 Ubuntu 发行版中的 sudo apt-get install python-tk
)——它不是由某些发行版的默认设置。
此答案基于 PM 2Ring 答案:
我在关闭消息框时遇到一些问题,所以我这样做了:
import Tkinter as tk
import tkMessageBox
root = tk.Tk()
root.withdraw()
tkMessageBox.showwarning('Title','Are you sure?')
root.update()
要创建需要关闭的通知而不是对话框,您可以使用 notify-send
,如下所示。这也不需要安装 python-tk
或其他软件包。
import subprocess
subprocess.run(["/usr/bin/notify-send", "--icon=error", "This is your error message ..."])
有关更多选项,请参阅 man page。
对于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")