第077講: GUI的終極選擇:Tkinter14 | 學習記錄(小甲魚零基礎入門學習Python)
目錄
Tkinter 為了提供了三種標準對話框模塊,它們分別是:
- messagebox
- filedialog
- colorchooser
注:這三個模塊原來是獨立的,分別是tkMessageBox、tkFileDialog 和tkColorChooser,需要導入才能使用。在Python3 之後,這些模塊全部被收歸到tkinter 模塊的麾下。下邊的所有演示都是在Python3 下實現,如果你用的是Python2.x,請在文件頭import tkMessageBox,然後將messagebox 替換為tkMessageBox 即可。
(一)messagebox(消息對話框)
下表為你列出了使用messagebox 可以創建的所有標準對話框樣式:
使用函數
|
對話框樣式
|
| askokcancel(title, message, options) | ![]() |
| askquestion(title, message, options) | ![]() |
| askretrycancel(title, message, options) | ![]() |
| askyesno(title, message, options) | ![]() |
| showerror(title, message, options) | ![]() |
| showinfo(title, message, options) | ![]() |
| showwarning(title, message, options) | ![]() |
我們直接舉例子:
- 1
- 2
- 3

當我們按下“確定”或者“取消”時,都沒有任何反應,因為這只是提供一個對話框。
按下“確定”之後,其實是有一個返回值,我們把返回值打印出來:
按下“確定”,返回True;按下“取消”,返回 False。
所以說,現實生活中發射核彈並不是按下一個按鈕就可以的,還需要看你按下按鈕之後的返回值之後所進行的一系列操作。
參數
所有的這些函數都有相同的參數:
- title 參數毋庸置疑是設置標題欄的文本
- message 參數是設置對話框的主要文本內容,你可以用'\n' 來實現換行
- options 參數可以設置的選項和含義如下表所示
| 選項 | 含義 |
| default | 1.設置默認的按鈕(也就是按下回車響應的那個按鈕) 2.默認是第一個按鈕(像“確定”,“是”或“重試”) 3.可以設置的值根據對話框函數的不同可以選擇:CANCEL,IGNORE,OK,NO,RETRY或YES |
| icon | 1.指定對話框顯示的圖標 2.可以指定的值有:ERROR,INFO,QUESTION或WARNING 3.注意:不能指定自己的圖標 |
| parent | 1.如果不指定該選項,那麼對話框默認顯示在根窗口上 2.如果想要將對話框顯示在子窗口w上,那麼可以設置parent=w |
返回值
askokcancel(),askretrycancel() 和askyesno() 返回布爾類型的值:
- 返回True 表示用戶點擊了“確定”或“是”按鈕
- 返回False 表示用戶點擊了“取消”或“否”按鈕
askquestion() 返回“yes”或“no”字符串表示用戶點擊了“是”或“否”按鈕
showerror(),showinfo() 和showwarning() 返回“ok”表示用戶按下了“是”按鈕
(二)filedialog(文件對話框)
當你的應用程序需要使用打開文件或保存文件的功能時,文件對話框顯得尤為重要。
實現起來就是這樣:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8

點擊“打開文件”

filedialog 模塊提供了兩個函數:askopenfilename(**option) 和asksaveasfilename(**option),分別用於打開文件和保存文件。
參數
兩個函數可供設置的選項是一樣的,下邊列舉了可用的選項及含義:
| 選項 | 含義 |
| defaultextension | 1.指定文件的後綴 2.例如:defaultextension=".jpg",那麼當用戶輸入一個文件名"logo"的時候,文件名會自動添加後綴為"logo.jpg" 3.注意:如果用戶輸入文件名包含後綴,那麼該選項不生效 |
| filetypes | 1.指定篩選文件類型的下拉菜單選項 2.該選項的值是由2元祖構成的列表 3.每個2元祖由(類型名,後綴)構成,例如:filetypes=[("PNG", ". png"), ("JPG", ".jpg"), ("GIF", ".gif")] |
| initialdir | 1.指定打開/保存文件的默認路徑 2.默認路徑是當前文件夾 |
| parent | 1.如果不指定該選項,那麼對話框默認顯示在根窗口上 2.如果想要將對話框顯示在子窗口w上,那麼可以設置parent=w |
| title | 指定文件對話框的標題欄文本 |
返回值
1. 如果用戶選擇了一個文件,那麼返回值是該文件的完整路徑
2. 如果用戶點擊了取消按鈕,那麼返回值是空字符串
(三)colorchooser(顏色選擇對話框)
顏色選擇對話框提供一個友善的界面讓用戶選擇需要的顏色,大家看下例子:
- 1
- 2
- 3
- 4
- 5
- 6
- 7

點擊“選擇顏色”

參數
askcolor(color, **option) 函數的color 參數用於指定初始化的顏色,默認是淺灰色;
option 參數可以指定的選項及含義如下:
| 選項 | 含義 |
| title | 指定顏色對話框的標題欄文本 |
| parent | 1.如果不指定該選項,那麼對話框默認顯示在根窗口上 2.如果想要將對話框顯示在子窗口w上,那麼可以設置parent=w |
返回值
1. 如果用戶選擇一個顏色並按下“確定”按鈕後,返回值是一個2 元祖,第1 個元素是選擇的RGB 顏色值,第2 個元素是對應的16 進制顏色值
2. 如果用戶按下“取消”按鈕,那麼返回值是(None, None)







0 留言:
發佈留言