1 消息框
1.1 导入
import tkinter
import tkinter.messagebox # 这个是消息框,对话框的关键
1.2 提示消息框
tkinter.messagebox.showinfo('提示','你该学习了')
1.3 消息警告框
tkinter.messagebox.showwarning('警告','你给我小心点')
1.4 错误消息框
tkinter.messagebox.showerror('错误','啊哦,出错了')
1.5 详细配置代码
import tkinter
import tkinter.messagebox
def but():
tkinter.messagebox.showinfo('提示', '人生苦短')
#tkinter.messagebox.showwarning('警告', '明日有大雨')
#tkinter.messagebox.showerror('错误', '出错了')
root=tkinter.Tk()
root.title('GUI') # 标题
root.geometry('800x600') # 窗体大小
root.resizable(False, False) # 固定窗体
tkinter.Button(root, text='hello button',command=but).pack()
root.mainloop()
2 对话框
同样需要导入 tkinter.messagebox
tkinter.messagebox.askokcancel('提示', '要执行此操作吗') # 确定/取消,返回值true/false
tkinter.messagebox.askquestion('提示', '要执行此操作吗') # 是/否,返回值yes/no
tkinter.messagebox.askyesno('提示', '要执行此操作吗') # 是/否,返回值true/false
tkinter.messagebox.askretrycancel('提示', '要执行此操作吗') # 重试/取消,返回值true/false
详细配置代码
import tkinter.messagebox
from tkinter import *
def func():
a = tkinter.messagebox.askyesno("我的标题", "askyesno")
print(a)
a = tkinter.messagebox.askokcancel("我的标题", "askokcancel")
print(a)
a = tkinter.messagebox.askquestion("我的标题", "askquestion")
print(a)
a = tkinter.messagebox.askretrycancel("我的标题", "askretrycancel")
print(a)
a = tkinter.messagebox.askyesnocancel("我的标题", "askyesnocancel")
print(a)
# 这里用作演示如何使用对话框
if tkinter.messagebox.askyesno("我的标题", "确认关闭窗口吗!"):
root.destroy()
root = Tk()
btn = Button(root, text="对话框", command=func)
btn.pack()
root.mainloop()
3 文件对话框
import tkinter.filedialog
# 选择以什么文件名保存,返回文件名
tkinter.filedialog.asksaveasfilename()
# 选择以什么文件保存,创建文件并返回文件流对象
tkinter.filedialog.asksaveasfile()
# 选择打开什么文件,返回文件名
tkinter.filedialog.askopenfilename()
# 选择打开什么文件,返回IO流对象
tkinter.filedialog.askopenfile()
# 选择目录,返回目录名
tkinter.filedialog.askdirectory()
# 选择打开多个文件,以元组形式返回多个文件名
tkinter.filedialog.askopenfilenames()
# 选择打开多个文件,以列表形式返回多个IO流对象
tkinter.filedialog.askopenfiles()
详细配置代码
import tkinter.filedialog
from tkinter import *
def func():
a = tkinter.filedialog.asksaveasfilename() # 返回文件名
print(a)
a = tkinter.filedialog.asksaveasfile() # 会创建文件
print(a)
a = tkinter.filedialog.askopenfilename() # 返回文件名
print(a)
a = tkinter.filedialog.askopenfile() # 返回文件流对象
print(a)
a = tkinter.filedialog.askdirectory() # 返回目录名
print(a)
a = tkinter.filedialog.askopenfilenames() # 可以返回多个文件名
print(a)
a = tkinter.filedialog.askopenfiles() # 多个文件流对象
print(a)
root = Tk()
btn1 = Button(root, text="click", command=func)
btn1.pack()
root.mainloop()