Python消息框没有巨大的库依赖
是否有一个消息框类,我可以在其中显示一个简单的消息框,而无需庞大的 GUI 库或程序成功或失败时的任何库。 (我的脚本只做了一件事)。
另外,我只需要它在 Windows 上运行。
Is there a messagebox class where I can just display a simple message box without a huge GUI library or any library upon program success or failure. (My script only does 1 thing).
Also, I only need it to run on Windows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以使用随 Python 一起安装的 ctypes 库:
以上代码适用于 Python 3 .x。对于 Python 2.x,请使用
MessageBoxA
而不是MessageBoxW
,因为 Python 2 默认情况下使用非 unicode 字符串。You can use the ctypes library, which comes installed with Python:
Above code is for Python 3.x. For Python 2.x, use
MessageBoxA
instead ofMessageBoxW
as Python 2 uses non-unicode strings by default.默认库中还有一些原型没有使用 ctypes。
简单的消息框:
其他选项
win32gui 中也有一个大致相同的选项,win32api 中还有一个。所有文档似乎都位于 C:\Python{nn}\Lib\site-packages\PyWin32.chm
There are also a couple prototyped in the default libraries without using ctypes.
Simple message box:
Other Options
There's also a roughly equivalent one in win32gui and another in win32api. Docs for all appear to be in
C:\Python{nn}\Lib\site-packages\PyWin32.chm
PyMsgBox 模块使用 Python 的 tkinter,因此它不依赖于任何其他第三方模块。您可以使用
pip install pymsgbox
来安装它。它适用于 Windows、macOS 和 Linux。函数名称类似于 JavaScript 的
alert()
、confirm()
和prompt()
函数:The PyMsgBox module uses Python's tkinter, so it doesn't depend on any other third-party modules. You can install it with
pip install pymsgbox
. It works on Windows, macOS, and Linux.The function names are similar to JavaScript's
alert()
,confirm()
, andprompt()
functions:一种快速而肮脏的方法是调用操作系统并使用“zenity”命令(子进程模块应该默认包含在任何 python 发行版中,zenity 也存在于所有主要 Linux 中)。尝试这个简短的示例脚本,它可以在我的 Ubuntu 14.04 中运行。
有关更复杂的对话框,请参阅 zenity --help
A quick and dirty way is to call OS and use "zenity" command (subprocess module should be included by default in any python distribution, zenity is also present in all major linux). Try this short example script, it works in my Ubuntu 14.04.
See the zenity --help for more complex dialogs
您还可以使用 tkinter 中的 messagebox 类:
从 tkinter 导入消息框
除非 tkinter 是您想要避免的那种巨大的 GUI。
使用方法很简单,即:
messagebox.FunctionName(标题, 消息 [, 选项])
在(showinfo、showwarning、showerror、askquestion、askokcancel、askyesno、askretrycancel)中使用FuntionName。
You can also use the messagebox class from tkinter:
from tkinter import messagebox
unless tkinter is that huge GUI you want to avoid.
Usage is simple, ie:
messagebox.FunctionName(title, message [, options])
with FuntionName in (showinfo, showwarning, showerror, askquestion, askokcancel, askyesno, askretrycancel).
这个是用 tkinter 的。
This one with tkinter.