[訳][Tkinterチュートリアル11]ダイアログボックスとメッセージボックス

4557 ワード

原作者の権限を取得しました.元シリーズアドレス: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に戻ります.キャンセルを選択すると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オペレーティングシステムにおける表示結果である.Windows 7でこのプログラムを実行すると、次のウィンドウが表示されます.
色選択ダイアログ
一部のアプリケーションでは、ユーザが色を選択する必要がある.Tkinterはこのようなダイアログボックスを提供する.tkColorChooserパッケージには、次の機能が含まれています.
result = tkColorChooser.askColor ( color, option=value, ...)

ユーザが色選択ダイアログの確認ボタンをクリックすると、askColor()メソッドは、選択する色:((106, 150, 98), '#6a9662')を表すために使用できる二元グループを返す.第1の要素は、3原色RGBを表す3元群である、各原色の取値範囲は0~255である.2番目の要素は16進数で色を表す方法である.ユーザがキャンセルボタンをクリックすると、askColor()の方法は同様に2元グループを返す:(None,None).askColor()メソッドのoptionsパラメータには、次のオプションがあります.
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ウィンドウシステムの下で、このダイアログボックスは次のように表示されます.
Windows 7システムでは、色選択ダイアログボックスが次のように表示されます.
全シリーズ:
[訳][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.