摘要:已獲原作者授權原系列地址簡介提供了一系列的對話框可以用來顯示文本消息提示警告信息和錯誤信息選擇文件或顏色其他一些簡單的對話框還可以請求用戶輸入文本整數或數字下面是一個典型的對話框使用場景在應用程序中經常會有退出按鈕如下點擊按鈕會彈出一個確認
已獲原作者授權. 原系列地址: Python Tkinter簡介
Tkinter 提供了一系列的對話框, 可以用來顯示文本消息, 提示警告信息和錯誤信息, 選擇文件或顏色. 其他一些簡單的對話框還可以請求用戶輸入文本, 整數或數字.
下面是一個典型的對話框使用場景. 在應用程序中經常會有 "退出" 按鈕, 如下:
點擊 "quit" 按鈕會彈出一個確認退出對話框:
我們假設 "退出" 功能還沒有最終完成, 這時我們會彈出一個只帶 OK 按鈕的消息對話框, 提示用戶該功能還不可用:
如果用戶點擊了 "NO" 按鈕, 我們可以彈出以下消息框:
讓我們回到第一個窗口, 就是那個帶有 "quit" 和 "answer" 按鈕的對話框. 如果點擊 "answer" 按鈕, 我們可以彈出一個錯誤對話框, 告訴用戶 "Answer" 功能還不可用:
上面描述的邏輯可用如下代碼實現:
from Tkinter import * from tkMessageBox import * def answer(): showerror("Answer", "Sorry, no answer available") def callback(): if askyesno("Verify", "Really quit?"): showwarning("Yes", "Not yet implemented") else: showinfo("No", "Quit has been cancelled") Button(text="Quit", command=callback).pack(fill=X) Button(text="Answer", command=answer).pack(fill=X) mainloop()消息框
消息框功能由 tkMessageBox 包提供, 其中包含了如下消息框類型:
askokcancel(title=None, message=None, **options)
詢問用戶操作是否繼續. 選擇 ok 則返回 True
askquestion(title=None, message=None, **options)
顯示一個問題
askretrycancel(title=None, message=None, **options)
詢問用戶是否要重試操作. 選擇 ok 則返回 True
askyesno(title=None, message=None, **options)
顯示一個問題. 選擇 ok 則返回 True
askyesnocancel(title=None, message=None, **options)
顯示一個問題. 選擇 ok 則返回 True; 選擇 cancel 則返回 None
showerror(title=None, message=None, **options)
給出一條錯誤信息
showinfo(title=None, message=None, **options)
給出一條提示信息
showwarning(title=None, message=None, **options)
給出一條警告信息
幾乎所有實用的桌面應用都有 打開文件以讀取/寫入 的功能. 有些程序還需要提供選擇目錄功能. Tkinter 中的 tkFileDialog 包提供了這個功能.
from Tkinter import * from tkFileDialog import askopenfilename def callback(): name= askopenfilename() print name errmsg = "Error!" Button(text="File Open", command=callback).pack(fill=X) mainloop()
上面的代碼運行后, 會顯示一個帶有 "File Open" 字樣的按鈕, 點擊這個按鈕則顯示如下文件選擇對話框:
對話框的樣式依賴于運行程序的操作系統平臺. 上面的窗口是在一部裝有 gnome 桌面系統的 linux 操作系統中的顯示結果. 如果我們在 Windows7 下運行這段程序, 則會得到如下窗口:
有些應用需要用戶選擇顏色. Tkinter 提供了這樣一種對話框. tkColorChooser 包中包含了這個功能:
result = tkColorChooser.askColor ( color, option=value, ...)
如果用戶點擊顏色選擇對話框的確認按鈕, askColor() 方法會返回一個二元組, 其中的元素都可以用來表示所選擇的顏色: ((106, 150, 98), "#6a9662") . 第一個元素是一個代表三原色 RGB 的三元組, 每種原色的取值范圍為 0-255. 第二個元素是一種16進制表示顏色的方法. 如果用戶點擊取消按鈕, askColor() 方法同樣會返回一個二元組: (None, None).
askColor() 方法中的 options 參數可以是以下選項:
color:
用以為顏色選擇對話框設置一個默認選擇的顏色. 如果未指定 color 選項, 則默認選擇顏色為灰色.
title:
顯示在對話框頂部標題欄的標題文本. 默認的標題為 "Color".
parent:
設置后, 顏色選擇對話框會在 parent 這個窗口之上顯示. 默認行為是在 root 窗口之上顯示.
讓我們看一個例子:
from Tkinter import * from tkColorChooser import askcolor def callback(): result = askcolor(color="#6A9662", title = "Bernd"s Colour Chooser") print result root = Tk() Button(root, text="Choose Color", fg="darkgreen", command=callback).pack(side=LEFT, padx=10) Button(text="Quit", command=root.quit, fg="red").pack(side=LEFT, padx=10) mainloop()
顏色選擇對話框的樣式同樣取決于運行程序的操作系統及窗口系統. 在 gnome 窗口系統下, 這個對話框顯示如下:
在 Windows7 系統下, 顏色選擇對話框顯示如下:
全系列:
[譯][Tkinter 教程01] 入門: Label 控件
[譯][Tkinter 教程02] Message 控件
[譯][Tkinter 教程03] Button 控件
[譯][Tkinter 教程04] Variable 類
[譯][Tinkter 教程05] Radiobutton 控件
[譯][Tkinter 教程06] Checkbox 控件
[譯][Tkinter 教程07] Entry 控件
[譯][Tkinter 教程08] Canvas 圖形繪制
[譯][Tkinter 教程09] Scale 控件
[譯][Tkinter 教程10] Text 控件
[譯][Tkinter 教程11] 對話框和消息框
[譯][Tkinter 教程12] 布局管理 (Pack Place Grid)
[譯][Tkinter 教程13] Mastermind 游戲
[譯][Tkinter 教程14] menu 菜單
[譯][Tkinter 教程15] event 事件綁定
譯者水平有限, 如有疏漏, 歡迎指正.
已獲得原作者授權. 原文地址: Dialogs.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41507.html
摘要:已獲原作者授權原系列地址單選按鈕是一種可在多個預先定義的選項中選擇出一項的控件單選按鈕可顯示文字或圖片顯示文字時只能使用預設字體該控件可以綁定一個函數或方法當單選按鈕被選擇時該函數或方法將被調用單選按鈕這個名字來源于收音機上的調頻按鈕這些按 已獲原作者授權. 原系列地址: Python Tkinter Radio Buttons 單選按鈕是一種可在多個預先定義的選項中選擇出一項的 T...
摘要:已獲原作者授權原系列地址控件控件用來展示一些文字短消息和控件有些類似但在展示文字方面比要靈活比如控件可以改變字體而控件只能使用一種字體它提供了一個換行對象以使文字可以斷為多行它可以支持文字的自動換行及對齊這里要澄清一下前面提到的控件可以改變 已獲原作者授權. 原系列地址: Python Tkinter Message 控件 Message 控件用來展示一些文字短消息. Message...
摘要:已獲原作者授權原系列地址簡介控件是一種標準控件用來展現不同樣式的按鈕控件被用以和用戶交互比如按鈕被鼠標點擊后某種操作被啟動和控件類似按鈕可以展示圖片或者文字不同的是控件可以指定字體控件只能使用單一的字體上的文字可以多行顯示可以將一個函數或方 已獲原作者授權. 原系列地址: Python Tkinter 簡介 Button 控件是一種標準 Tkinter 控件, 用來展現不同樣式的按鈕...
摘要:已獲原作者授權原系列地址簡介一提到這個詞很多人首先想到的是餐館里的菜單雖然餐館菜單和計算機程序中的菜單看起來一點也不像但他們確實有很多共同點在餐館中菜單列舉了所有菜品和飲料在計算機程序中菜單通過圖形界面展示了應用程序可用的命令和功能在用戶界 已獲原作者授權. 原系列地址: Python Tkinter 簡介 一提到menu這個詞, 很多人首先想到的是餐館里的菜單. 雖然餐館菜單和計算...
摘要:已獲原作者授權原系列地址類有些控件比如控件控件等可以通過傳入特定參數直接和一個程序變量綁定這些參數包括這種綁定是雙向的如果該變量發生改變與該變量綁定的控件也會隨之更新這些控制變量和一般的變量一樣都是用來保存某個值的但一般的變量不能被傳遞給或 已獲原作者授權. 原系列地址: Python Tkinter Variable 類 有些控件 (比如 Entry 控件, Radiobutton...
閱讀 1678·2019-08-30 12:51
閱讀 663·2019-08-29 17:30
閱讀 3702·2019-08-29 15:17
閱讀 860·2019-08-28 18:10
閱讀 1368·2019-08-26 17:08
閱讀 2177·2019-08-26 12:16
閱讀 3441·2019-08-26 11:47
閱讀 3507·2019-08-23 16:18