Python中的警告框?

41 投票
6 回答
133070 浏览
提问于 2025-04-11 09:30

在Python中,是否可以像JavaScript的alert("message")那样,产生一个警告框,尤其是在一个后台运行的程序中?

这个程序会在Windows上运行,可能是在XP系统上,但2000和Vista系统也有可能。

更新:
这个程序是打算在后台运行,当满足某些条件时提醒用户。我觉得最简单的提醒方式就是弹出一个窗口,因为需要立即处理,而其他选项,比如仅仅记录日志或发送邮件,效率都不够高。

6 个回答

6

你可以使用 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()
    可以输入文本,但输入的字符会显示为 *
20

对于那些想要一个纯粹用Python编写的选项,不需要和Windows互动,并且可以在不同平台上使用的人,我选择了下面这个网站上列出的选项:

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")

你可以根据不同的情况选择显示各种类型的消息框选项:

  • showinfo() - 显示信息框
  • showwarning() - 显示警告框
  • showerror() - 显示错误框
  • askquestion() - 提问框
  • askokcancel() - 确认框
  • askyesno() - 是/否选择框
  • askretrycancel() - 重试/取消框

根据我下面的评论编辑的代码

73

这个怎么样:

import win32api

win32api.MessageBox(0, 'hello', 'title')

另外:

win32api.MessageBox(0, 'hello', 'title', 0x00001000) 

这会让这个框在其他窗口上面显示,适合用来显示紧急消息。想了解更多选项,可以查看 MessageBox 函数

撰写回答