是否可以在 python 中产生类似于 JavaScript 的 alert("message") 的警报,应用程序作为守护进程运行。
这将在 Windows 中运行,很可能是 XP,但 2000 和 Vista 也是非常现实的可能性。
更新:
这旨在在后台运行并在满足某些条件时提醒用户,我认为提醒用户的最简单方法是产生一个弹出窗口,因为它需要立即处理,以及其他选项例如仅记录或发送电子邮件是不够有效的。
那这个呢:
import win32api
win32api.MessageBox(0, 'hello', 'title')
此外:
win32api.MessageBox(0, 'hello', 'title', 0x00001000)
将使该框出现在其他窗口的顶部,用于紧急消息。有关其他选项,请参阅MessageBox 函数。
对于我们这些寻找不与 Windows 交互且独立于平台的纯 Python 选项的人来说,我选择了以下网站上列出的选项:
https://pythonspot.com/tk-message-box/ (存档链接:https ://archive.ph/JNuvx )
# Python 3.x code
# Imports
import tkinter
from tkinter import messagebox
# This code is to hide the main tkinter window
root = tkinter.Tk()
root.withdraw()
# Message Box
messagebox.showinfo("Title", "Message")
您可以选择针对不同场景显示各种类型的消息框选项:
根据我下面的评论编辑代码
GTK 可能是一个更好的选择,因为它是跨平台的。它在 Ubuntu 上运行良好,并且在安装了 GTK 和 Python 绑定后应该在 Windows 上运行良好。
from gi.repository import Gtk
dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
Gtk.ButtonsType.OK, "This is an INFO MessageDialog")
dialog.format_secondary_text(
"And this is the secondary text that explains things.")
dialog.run()
print "INFO dialog closed"
传递的参数应该是 gtk.window 父级(或无)、DestroyWithParent、消息类型、消息按钮、标题。
您可以使用PyAutoGui制作警报框 首先使用 pip 安装 pyautogui:
pip install pyautogui
然后在python中输入:
import pyautogui as pag
pag.alert(text="Hello World", title="The Hello World Box")
这里有更多的消息框,从 Javascript 中偷来的:
confirm()
prompt()
password()
使用文本输入,但键入的字符将显示为*您可以在 Python 中使用 win32 库,这是 OK 或 Cancel 的经典示例。
import win32api
import win32com.client
import pythoncom
result = win32api.MessageBox(None,"Do you want to open a file?", "title",1)
if result == 1:
print 'Ok'
elif result == 2:
print 'cancel'
收藏:
win32api.MessageBox(0,"msgbox", "title")
win32api.MessageBox(0,"ok cancel?", "title",1)
win32api.MessageBox(0,"abort retry ignore?", "title",2)
win32api.MessageBox(0,"yes no cancel?", "title",3)
将应用程序作为后台进程启动,该进程要么具有绑定到 localhost 的 TCP 端口,要么通过文件进行通信——你的守护进程打开文件,然后你echo "foo" > c:\your\file
. 例如,在 1 秒没有活动之后,您会显示消息并截断文件。