tkinter模块生成消息弹窗

tkinter模块 是Python 的标准 GUI 库
1)提示框生成
包括各种提示框:消息提示框(showinfo())、错误(showerror())、警告(showwarning())等,以消息提示框为例:

# Python3
import tkinter
import tkinter.messagebox

def message_worning(title='提示', message='一些提醒'):
    top = tkinter.Tk()
    top.withdraw()  # 实现主窗口隐藏(即隐藏带tk标题的空白窗口)
    top.update()  # 需要update一下
    
    if title=='提示':
        tkinter.messagebox.showinfo(title=title, message=message) #不管如何点击提示框(确定/关闭),返回值都是“ok”
    elif title=='警告':
        tkinter.messagebox.showwarning(title=title, message=message)
    elif title=='错误':
        tkinter.messagebox.showerror(title=title,message=message)
    else:
        tkinter.messagebox.showwarning(title=title, message='没有输入正确的提示框title')
    
    top.destroy() # 销毁控件,释放内存

message_worning(title='提示', message='自动DC完成')

2)对话框生成
对话框包括:
askyesnocancel():是、否、取消
askquestion():是、否
askyesno():是、否
askokcancel():确定、取消
askretrycancel():重试、取消

top = tkinter.Tk()
top.withdraw()  # ****实现主窗口隐藏(即隐藏带tk标题的空白窗口)
top.update()  # *********需要update一下
r=tkinter.messagebox.askyesno(title='询问', message='确定执行此操作?')
top.destroy()
print('r=',r) #手动点击“是”,则r=True,点击“否”,则r=False,点击“取消”,则r=None

3)文件对话框生成

import tkinter
import tkinter.filedialog
top = tkinter.Tk()
top.withdraw() 
top.update() 
a=tkinter.filedialog.askopenfilenames() #在弹出的文件对话框中ctrl选择多个文件,并不会真的打开。返回值为多个文件绝对路径组成的元组
print('f=',a) # f= ('D:/SQL 10.0 参考大全(20150619).docx', 'D:/基于专利链接方法研究(2).doc', 'D:/代购.docx')

a =tkinter.filedialog.askopenfilename() #弹出打开文件对话框,并不会真的打开文件。返回值为文件绝对路径字符串
print('f=',a) # f= D:/Artificial Intelligence Conference in Beijing 2019.docx

a =tkinter.filedialog.askopenfile() #弹出打开文件对话框,但不会真的打开文件,返回值为文件流对象
print('f=',a)# f= <_io.TextIOWrapper name='C:/Users/cn/Desktop/ss.txt' mode='r' encoding='cp936'>

a=tkinter.filedialog.asksaveasfilename() #弹出保存文件对话框,但不会真的保存文件。返回文件绝对路径字符串
print('f=',a)# f= C:/Users/cn/Desktop/ss1.txt

a =tkinter.filedialog.asksaveasfile() # 弹出保存文件对话框,会创建文件
print('f=',a) # f= <_io.TextIOWrapper name='C:/Users/cn/Desktop/ss1.txt' mode='w' encoding='cp936'>

a =tkinter.filedialog.askdirectory() # 弹出打开文件夹对话框,返回文件夹的绝对路径字符串
print('f=',a) # f= C:/Users/defaultuser0
top.destroy()

隐藏空白主窗口的参考链接:https://blog.csdn.net/lukuanpromise/article/details/83685365

你可能感兴趣的:(Python类,python,tkinter)