一、使用tkinter
1、导入tkinter.messagebox库
from tkinter import messagebox
2、基本使用
messagebox.askyesno('标题', '内容')
更多的还有:
messagebox.askyesno() # 是或否,返回True,False
messagebox.askquestion() #是或否,返回yes,no
messagebox.askyesnocancel() # 是或否或取消,返回True,False,None
messagebox.askokcancel() # 确定或取消,返回True,False
messagebox.askretrycancel() # 重试或取消,返回True,False
messagebox.showerror() # 提示错误,返回ok
messagebox.showinfo() # 提示注意,返回ok
messagebox.showwarning() # 提示警告,返回ok
3、指定父窗口
from tkinter import messagebox, Tk
window = Tk() # 创建一个父窗口句柄
window.withdraw() # 隐藏窗口
messagebox.askyesno(parent=window) # 使用parent参数指定父窗口
二、使用win32api与win32con
1.导入win32api与win32con库
import win32api
import win32con
2.基本使用
win32api.MessageBox(0, "内容", "标题", win32con.MB_YESNO)
注:0表示使用默认的父窗口,通常是桌面窗口,也可自行指定父窗口。
win32con库中还有更多的提示窗口类型,请自行探索。
3、指定父窗口
import win32api
import win32con
import win32gui
# 获取父窗口句柄
hwnd_parent = win32gui.FindWindow(None, "父窗口标题")
# 弹出带有Yes/No按钮的消息框,并指定父窗口
result = win32api.MessageBox(hwnd_parent, "内容", "标题", win32con.MB_YESNO)