Tkinter教程之tkCommonDialog篇
阿新 • • 發佈:2019-02-18
'''2.使用tkSimpleDialog模組''' # askinteger:輸入一個整數值 # askfloat:輸入一個浮點數 # askstring:輸入一個字串 from tkinter import * # 引入SimpleDialog模態對話方塊 from tkinter.simpledialog import * root = Tk() # 輸入一個整數, # initialvalue指定一個初始值 # prompt提示資訊 # title提示框標題 print(askinteger(title='prompt', prompt='input a integer:', initialvalue=100)) # 輸入一浮點數 # minvalue指定最小值 # maxvalue指定最大值,如果不在二者指定範圍內則要求重新輸入 print(askfloat(title='float', prompt='input a float', minvalue=0, maxvalue=11)) # 輸入一字串 print(askstring(title='string', prompt='input a string')) root.mainloop() # 返回值為各自輸入的值。
'''2.開啟檔案對話方塊'''
# LoadFileDialog:開啟對話方塊
from tkinter import *
from tkinter.filedialog import *
root = Tk()
# 指定master就可以了。
# title屬性用來指定標題
fd = LoadFileDialog(root)
# go方法的返回值即為選中的文字路徑,如果選擇取返回值則為None
print(fd.go())
root.mainloop()
# 返回選中的檔名稱
'''3.儲存檔案對話方塊''' # SaveFileDialog:儲存對話方塊 # 與LoadFileDialog正好操作相反,這個類是用來儲存檔案。 # 各個 引數的意義都 一樣,只是ok的返回值為儲存的檔名稱;如果取消則為None from tkinter import * from tkinter.filedialog import * root = Tk() # 指定master就可以了。 # title屬性用來指定標題 fd = SaveFileDialog(root) # go方法的返回值即為選中的文字路徑,如果選擇取返回值則為None print(fd.go()) root.mainloop() # 返回選中的檔名稱
'''4.使用顏色對話方塊'''
# askcolor:顏色對話方塊
from tkinter import *
# 引入tkColorChoose模組
from tkinter.colorchooser import *
root = Tk()
# 呼叫askcolor返回選中顏色的(R,G,B)顏色值及#RRGGBB表示
print(askcolor())
root.mainloop()
# 返回選中的檔名稱
'''5. 使用訊息對話方塊''' # -*- coding: utf-8 -*- # showinfo:資訊對話方塊 # showwarning:警告對話方塊 # showerror:錯誤對話方塊 # showquestion:詢問對話方塊 # showokcancel:顯示確定/取消對話方塊 # showyesno:是/否對話方塊 # showretrycancel:重試/取消對話方塊 # 使用提示對話方塊模組tkMessageBox from tkinter import * # 引入tkMessageBox模組 from tkinter.messagebox import * root = Tk() stds = [ showinfo, # 顯示資訊訊息框 showwarning, # 顯示警告訊息框 showerror, # 顯示錯誤訊息框 askquestion, # 顯示詢問訊息框 askokcancel, # 顯示確認/取消訊息框 askyesno, # 顯示是/否訊息框 askretrycancel # 顯示重試/取消訊息框 ] for std in stds: print(str(std), std(title=str(std), message=str(std))) # 程式列印輸出結果如下(與點選的按鈕得到不同其值) # <function showinfo at 0x00D589F0> ok # <function showwarning at 0x00D58A30> ok # <function showerror at 0x00D58A70> ok # <function askquestion at 0x00D58AB0> yes # <function askokcancel at 0x00D58AF0> False # <function askyesno at 0x00D58B30> True # <function askretrycancel at 0x00D58B70> True root.mainloop() # 如果要確認點選的是那一個按鈕,則可以判斷這個訊息框的返回值,注意各個值有所不同 # 返回值有ok/yes/True