本文目录导读:

- 使用 tkinter(最常用,内置库)
- 使用 PyQt5(更美观的界面)
- 使用 ctypes(Windows专用,调用系统API)
- 使用 easygui(简单易用)
- 使用 winsound(声音提示,无图形界面)
- 完整示例:带按钮的提示窗口
- 推荐选择:
我来为您介绍几种Python弹出提示窗口的方法:
使用 tkinter(最常用,内置库)
import tkinter as tk
from tkinter import messagebox
# 创建主窗口(可选)
root = tk.Tk()
root.withdraw() # 隐藏主窗口
# 各种提示窗口
messagebox.showinfo("提示", "这是一条信息提示")
messagebox.showwarning("警告", "这是一条警告提示")
messagebox.showerror("错误", "这是一条错误提示")
# 带选择的对话框
result = messagebox.askyesno("确认", "你确定要执行吗?")
if result:
print("用户选择了是")
else:
print("用户选择了否")
# 其他选择对话框
messagebox.askokcancel("确认", "确定要取消吗?")
messagebox.askretrycancel("重试", "操作失败,是否重试?")
messagebox.askquestion("问题", "你喜欢Python吗?") # 返回"yes"或"no"
使用 PyQt5(更美观的界面)
# 首先安装:pip install PyQt5
from PyQt5.QtWidgets import QApplication, QMessageBox
import sys
app = QApplication(sys.argv)
# 信息提示
QMessageBox.information(None, "标题", "这是一条信息")
# 警告提示
QMessageBox.warning(None, "警告", "")
# 错误提示
QMessageBox.critical(None, "错误", "出现错误!")
# 提问对话框
reply = QMessageBox.question(None, "问题", "你确定吗?",
QMessageBox.Yes | QMessageBox.No)
if reply == QMessageBox.Yes:
print("用户点击了是")
使用 ctypes(Windows专用,调用系统API)
import ctypes
# 信息提示
ctypes.windll.user32.MessageBoxW(0, "这是提示内容", "标题", 0)
# 警告提示
ctypes.windll.user32.MessageBoxW(0, "这是警告", "警告", 0x30)
# 带确认取消的对话框
result = ctypes.windll.user32.MessageBoxW(0, "继续吗?", "确认", 0x04)
if result == 6: # 6表示点击了"是"
print("用户点击了是")
使用 easygui(简单易用)
# 首先安装:pip install easygui
import easygui
# 各种提示框
easygui.msgbox("这是一条提示信息", title="标题")
# 确认对话框
if easygui.ynbox("你确定吗?", "确认"):
print("用户选择了是")
# 选择框
choice = easygui.choicebox("请选择:", "选择", ["选项1", "选项2", "选项3"])
使用 winsound(声音提示,无图形界面)
import winsound # 播放系统提示音 winsound.MessageBeep() # 系统默认声音 winsound.MessageBeep(winsound.MB_OK) # 成功声音 winsound.MessageBeep(winsound.MB_ICONERROR) # 错误声音
完整示例:带按钮的提示窗口
import tkinter as tk
from tkinter import messagebox
def show_custom_dialog():
root = tk.Tk()
root.withdraw()
# 自定义提示窗口内容
msg = """用户信息:
名称:张三
年龄:25
操作:文件保存成功"""
messagebox.showinfo("操作结果", msg)
# 带返回值的对话框
if messagebox.askokcancel("确认", "是否继续操作?"):
messagebox.showinfo("提示", "继续执行")
else:
messagebox.showwarning("提示", "操作已取消")
root.destroy()
# 调用
show_custom_dialog()
推荐选择:
- 简单快速:使用 tkinter(无需额外安装)
- 美观现代化:使用 PyQt5 或 PySide6
- Windows系统:可以使用 ctypes
- 极简代码:使用 easygui
选择哪种方式取决于您的具体需求和项目环境。