這篇博客主要是總結一下Tkinter中的對話框的使用,值得一提的是自從python3.0之后關於關於對話框的模塊(messagebox、filedialog、colorchooser)都被收歸到了tkinter的麾下,也就是說在import模塊的時候需要注意一下。
Tkinter提供了三種標准的對話框模塊:
1.messagebox
2.filedialog
3.colorchooser
下面一次介紹這三種對話框:
1.mesaagebox
import tkinter.messagebox from tkinter import * tkinter.messagebox.askokcancel("FishC Demo",'發射導彈?') tkinter.messagebox.askquestion("FishC Demo","買個優盤?") tkinter.messagebox.askretrycancel("FishC Demo","啟動失敗,重試?") tkinter.messagebox.askyesno("FishC Demo","我帥嗎?") tkinter.messagebox.showerror("FishC Demo","出錯啦!") tkinter.messagebox.showinfo("FishC Demo","2017新年快樂") tkinter.messagebox.showwarning("FishC Demo","你在偷懶!") mainloop()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
運行效果圖:
上面這段代碼分別使用了messagebox中的對話框函數,下面總結一下上述函數:
1.參數
所有這些函數都有相同的參數:
(1)title:設置標題欄的文本
(2)message:設置對話框的主要文本內容,可以用’\n’來實現換行
(3)options:可以設置選項和含義
2.返回值
askokcancel()、askretrycancel()、askyesno()返回布爾類型的值
2.filedialog
文件對話框,主要用於打開或者保存文件
import tkinter.filedialog from tkinter import * root = Tk() def callback(): fileName = filedialog.askopenfilename() print(fileName) Button(root,text='打開文本',command=callback).pack() mainloop()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
運行效果圖:
總結一下filedialog對話框:
(1).參數
兩個函數可供設置的選項是一樣的
(2).返回值
如果用戶選擇了一個文件,那么返回值是該文件的完整路徑
如果用戶單機取消按鈕,那么返回值是空字符串
3.colorchooser
提供一個用戶選擇顏色的界面
import tkinter.colorchooser from tkinter import * root = Tk() def callback(): fileName = colorchooser.askcolor() print(fileName) Button(root,text="選擇顏色",command=callback).pack() mainloop()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
運行效果圖:
總結一下這個函數:
1.參數
askcolor(color,**option)函數中的color參數用於指定初始化的顏色
默認顏色為淺灰色
2.返回值
如果用戶選擇一個顏色並單機確定按鈕后,返回值是一個二元組,第一個元素是選擇的
RGB顏色值,第2個元素是對應的十六進制顏色值
如果用戶單擊取消按鈕,那么返回值為(None,None)
你看了上述代碼中關於導入模塊的代碼可能感到奇怪,明明導入了thinter下的所有模塊,為什么還要單獨導入messagebox、filedialog、colorchooser模塊呢?這個我也不太清楚,不過不單獨導入會報錯,之后如果解決了這個問題會來及時補充。
本文轉自https://blog.csdn.net/bemorequiet/article/details/54744511