Tkinter11_标准对话框

Tkinter11_标准对话框

标签(空格分隔): Tkinter



Tkinter 提供了三种标准对话框模块,分别是:

  • messagebox
  • filedialog
  • colorchooser

messagebox(消息对话框)

例 53

askokcancel(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.askokcancel("FishC Demo", "发射核弹?"))

mainloop()

Tkinter11_标准对话框

askquestion(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.askquestion("FishC Demo", "在上课?"))

mainloop()

Tkinter11_标准对话框

askretrycancel(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.askretrycancel("FishC Demo", "启动失败,重试?"))

mainloop()

Tkinter11_标准对话框

askyesno(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.askyesno("FishC Demo", "Are you OK?"))

mainloop()

Tkinter11_标准对话框

showerror(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.showerror("FishC Demo", "Error"))

mainloop()

Tkinter11_标准对话框

showinfo(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.showinfo("FishC Demo", "Keep healthy"))

mainloop()

Tkinter11_标准对话框

showwarning(title, message, options)

from tkinter import *

import tkinter.messagebox as messagebox

print(messagebox.showwarning("FishC Demo", "Warnning"))

mainloop()

Tkinter11_标准对话框

1. 参数

所有这些函数都有相同的参数:

  • title 参数设置标题栏的文本;
  • message 参数设置对话框的主要文本内容,可以用 ‘\n’ 来实现换行;
  • options 参数可以设置的选项如下表。

Tkinter11_标准对话框

2. 返回值

  • askokcancel(), askretrycancel(), askyesno() 返回布尔类型的值;

    • 返回 True 表示用户单击了“确定”或“是”按钮;
    • 返回 False 表示用户单击了“取消”或“否”按钮。
  • askquestion() 返回 “yes” 或 “no” 字符串表示用户单击了“是”或“否”按钮;

  • showerror(), showinfo(), showwarnning() 返回 “ok” 表示用户单击了“是”按钮。

filedialog(文件对话框)

例 54

from tkinter import *

import tkinter.filedialog as filedialog

root =Tk()

def callback():
    fileName = filedialog.askopenfilename()
    print(fileName)

Button(root, text="打开文件", command=callback).pack()

mainloop()

Tkinter11_标准对话框

...
fileName = filedialog.askopenfilename(defaultextension=".py")#默认后缀
...

Tkinter11_标准对话框

...
fileName = filedialog.askopenfilename(filetypes=[("PNG", ".png"), ("GIF", ".gif"), ("JPG", ".jpg"), ("Python", ".py")])
...

Tkinter11_标准对话框

filedialog 模块提供了两个函数,askopenfilename(**option) 和 asksaveasfilename(**option),分别用于打开文件和保存文件。

1. 参数

两个函数可供设置的选项是一样的,见下表。

Tkinter11_标准对话框

2. 返回值

  • 如果用户选择了一个文件,那么返回值是该文件的完整路径;
  • 如果用户单击了取消按钮,那么返回值是空字符串。

colorchooser

例 55

from tkinter import *

import tkinter.colorchooser as colorchooser

root =Tk()

def callback():
    fileName = colorchooser.askcolor()
    print(fileName)

Button(root, text="选择颜色", command=callback).pack()

mainloop()

Tkinter11_标准对话框

1. 参数

  • askcolor(color, **option) 函数的 color 参数用于指定初始化的颜色,默认是浅灰色
  • option 参数可以指定的选项如下表:

Tkinter11_标准对话框

2. 返回值

  • 如果用户选择一个颜色并单击“确定”按钮后,返回值是一个二元组,第一个元素是选择的 RGB 颜色值,第二个元素是对应的十六进制颜色值。
  • 如果用户单击“取消”按钮,那么返回值是 (None, None)。

摘自《零基础入门学习Python》

参考链接:

An Introduction To Tkinter
Tkinter汇总
Python GUI编程(Tkinter)
Tkinter颜色方案举例
python tkinter可以使用的颜色
tkinter学习-菜单与画布
程序设计思想与方法–第五章
用Python中的tkinter模块作图