无大型库依赖的Python消息框

45 投票
6 回答
62183 浏览
提问于 2025-04-16 08:45

有没有一种消息框的类,可以让我在程序成功或失败时,简单地显示一个消息框,而不需要使用大型的图形界面库或任何其他库?(我的脚本只做一件事)。

另外,我只需要它能在Windows上运行。

6 个回答

7

PyMsgBox模块是用Python的tkinter库做的,所以它不需要其他的第三方模块。你可以通过运行 pip install pymsgbox 来安装它。这个模块可以在Windows、macOS和Linux系统上使用。

它的函数名称和JavaScript中的 alert()confirm()prompt() 函数很像:

>>> import pymsgbox
>>> pymsgbox.alert('This is an alert!')
>>> user_response = pymsgbox.prompt('What is your favorite color?')
19

在默认的库中,还有几个原型是没有使用ctypes的。

简单的消息框:

import win32ui
win32ui.MessageBox("Message", "Title")

其他选项

if win32ui.MessageBox("Message", "Title", win32con.MB_YESNOCANCEL) == win32con.IDYES:
    win32ui.MessageBox("You pressed 'Yes'")

在win32gui和win32api中也有一个大致相同的功能。所有的文档都可以在 C:\Python{nn}\Lib\site-packages\PyWin32.chm 找到。

89

你可以使用 ctypes 这个库,它在安装Python的时候就已经包含在里面了:

import ctypes
MessageBox = ctypes.windll.user32.MessageBoxW
MessageBox(None, 'Hello', 'Window title', 0)

上面的代码是针对Python 3.x的。如果你使用的是Python 2.x,那就要用 MessageBoxA,因为Python 2默认使用的是非Unicode字符串。

撰写回答