Python零基礎入門之Tkinter的對話框


這篇博客主要是總結一下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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM