魚cノート——PythonのGUIプログラミング(十五):TkinterのコンポーネントToplevelおよびTkとToplevelの方法
5994 ワード
Toplevel(トップウィンドウ)コンポーネントはFrameコンポーネントに似ていますが、Toplevelコンポーネントは独立したトップウィンドウです.このウィンドウは通常、タイトルバーや枠などのコンポーネントを持ち、Tk()で作成されたルートウィンドウと同じように、同じ方法を共有しています.
Toplevelコンポーネントはいつ使用しますか?
Toplevelコンポーネントは、通常、追加のウィンドウ、ダイアログボックス、または他のポップアップウィンドウを表示するために使用されます.
次の例では、rootウィンドウにトップウィンドウを作成するためのボタンを追加し、次のボタンをクリックします.
Tk(ルートウィンドウ)とToplevel(トップウィンドウ)の方法:
次の一連の方法は、ウィンドウマネージャと対話するために使用されます.Tk(ルートウィンドウ)によって呼び出され、Toplevel(トップウィンドウ)にも適用されます.
注:すべてのオペレーティングシステムが、次のすべての方法の実装を完全にサポートしているわけではありません.
aspect(minNumber=None, minDenom=None, maxNumber=None, maxDenom=None,)
--ウィンドウのアスペクト比を制御します(width:height)
--アスペクト比制限:minNumber/minDenom~maxNumber/max Denom
--パラメータを無視した場合、現在の制限を表す4つの要素グループが返されます(存在する場合).
attribute(*args)
--ウィンドウのプロパティの設定と取得
--選択項目名のみを指定すると、現在のウィンドウの値が返されます.
--次のオプションではキーワードパラメータはサポートされていません.オプションの前に横長(-)を付け、オプションと値をカンマ(,)で区切る文字列で表す必要があります.
--たとえば、ウィンドウの透明度を50%に設定するには、attribute(alpha=0.5)の代わりにattribute(-alpha)、0.5)を使用します.
--argsが各オプションを使用できる具体的な意味と使い方を以下に示します.
Alpha:(Windows、Mac)コントロールウィンドウの透明度
1.0は不透明、0.0は完全に透明
このオプションはすべてのシステムをサポートしていません.サポートされていないシステムの場合、Tkinterは不透明な(1.0)ウィンドウを描きます.
disabled:(Windows)ウィンドウ全体を無効にします(タスクマネージャから閉じるしかありません)
fullscreen:(Windows、Mac)Trueに設定すると、ウィンドウが全画面表示されます
modified:(Mac)Trueに設定すると、ウィンドウが変更されたとマークされます
titlepath:(Mac)ウィンドウエージェントアイコンのパスを設定する
toolwindow:(Windows)Trueに設定した場合、このウィンドウはツールウィンドウのスタイルを採用します.
topmost:(Windows、Mac)Trueに設定すると、ウィンドウは常にトップになります
client(name=None)
--WM_の設定と取得CLIENT_MACHINEプロパティ
--WM_を削除する場合CLIENT_MACHINEプロパティ、空白文字列に値を割り当てる
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
colormapwindows(*wlist)
--WM_の設定と取得COLORMAP_WINDOWSプロパティ
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
command(value=None)
--WM_の設定と取得COMMAND属性
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
deiconify()
--ウィンドウを表示
--デフォルトでは新しく作成したウィンドウは画面に表示されますが、iconify()またはwithdraw()メソッドでは画面からウィンドウを削除できます.
focusmodel(model=None)
--フォーカスモードの設定と取得
frame()
--現在のシステムフィーチャーを表す文字列を返します.
--クラスUnixシステムの場合、戻り値はXウィンドウ識別子
--Windowsシステムの場合、戻り値はHWNDが強制的にロング整形に変換した結果
geometry(geometry=None)
--ウィンドウのサイズの設定と取得
--geometryのパラメータ形式は「%dx%d%+d%+d%」%(width,height,xoffset,yoffset)
(wm_)grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
--ウィンドウマネージャに、グリッドで寸法を再調整するよう通知します.
--baseWidthとbaseHeight指定Tk_GeometryRequestが要求するメッシュ単位数
--widthIncとheightIncはセルの高さと幅を指定します.
(wm_)group(window=None)
--ウィンドウをウィンドウグループに追加
--windowパラメータ指定制御ウィンドウ群のメインウィンドウ
--このオプションを無視すると、現在のウィンドウ群のメインウィンドウに戻ります.
(wm_)iconbitmap(bitmap=None, default=None)
--ウィンドウのアイコンの設定と取得
--例えばroot.iconbitmap(bitmap="python.ico")
--defaultパラメータを使用して、ウィンドウによって作成されたサブウィンドウのデフォルトアイコンを指定できます.
(wm_)iconify()
--ウィンドウをアイコン化(最小化)
--ウィンドウを再表示するには、deiconify()メソッドを使用します.
--state()を「iconic」に戻す方法
(wm_)iconmask(bitmap=None)
--ビットマップ符号化の設定と取得
(wm_)iconname(newName=None)
--現在のウィンドウのアイコン化(最小化)時のアイコン名の設定と取得
(wm_)iconposition(x=None, y=None)
--現在のウィンドウのアイコン化(最小化)時のアイコン位置の設定と取得
(wm_)iconwindow(pathName=None)
--現在のウィンドウのアイコン化(最小化)時のコンポーネントウィンドウの設定と取得
--state()を「icon」に戻す方法
(wm_)maxsize(width=None, height=None)
--ウィンドウの最大サイズの設定と取得
(wm_)minsize(width=None, height=None)
--ウィンドウの最小サイズの設定と取得
(wm_)overrideredirect(boolean=None)
--パラメータがTrueの場合、ウィンドウはすべてのウィジェットを無視します(つまり、ウィンドウには従来のタイトルバー、枠線などのウィジェットはありません).
(wm_)positionfrom(who=None)
--ウィンドウの場所を「誰が決めるか」を指定します.
--whoパラメータが「user」の場合、ウィンドウの位置はユーザーによって決まります
--whoパラメータが「プログラム」の場合、ウィンドウの位置はシステムによって決まります
(wm_)protocol(name=None, func=None)
--コールバック関数funcを対応するルールnameにバインド
--nameパラメータは「WM_DELETE_WINDOW」:ウィンドウが閉じられたとき
--nameパラメータは「WM_SAVE_YOURSELF」:ウィンドウが保存されている場合
--nameパラメータは、「WM_TAKE_FOCUS」:ウィンドウにフォーカスがある場合
(wm_)resizable(width=None, height=None)
--ウィンドウのサイズを変更できるかどうかを指定します.
--widthがTrueの場合は、ウィンドウの水平寸法の調整が可能であることを示します
--heightがTrueの場合は、ウィンドウの垂直寸法の調整を許可します
(wm_)sizefrom(who=None)
--ウィンドウサイズを「誰が決めるか」を指定します.
--whoパラメータが「user」の場合、ウィンドウサイズはユーザーが決定する
--whoパラメータが「プログラム」の場合、ウィンドウサイズはシステムで決定します
(wm_)state(newstate=None)
--現在のウィンドウのステータスの設定と取得
--newstateは「normal」、「iconoc」(iconify参照)、「withdraw」(withdraw参照)、「icon」(iconwindow参照)、「zoomed」(拡大、Windows固有)のみです.
(wm_)title(string=None)
--ウィンドウのタイトルを設定
(wm_)transient(master=None)
--masterとして指定された一時ウィンドウ
(wm_)withdraw()
--ウィンドウを画面から削除します(破棄されません).
--deiconify()メソッドを使用してウィンドウを再表示する必要があります
--state()は「withdraw」を返します.
wm_aspect(minNumber=None, minDenom=None, maxNumber=None, manDenom=None)
--上のaspect()を参照
wm_attributes(*args)
--上のattributes()を参照
wm_client(name=None)
--上のclient()を参照
wm_colormapwindows(*wlist)
--上のcormapwindows()を参照
wm_command(value=None)
--上のcommand()を参照
wm_deiconify()
--上のdeiconify()を参照
wm_focusmodel(model=None)
--上のfocusmodel()を参照してください.
wm_frame()
--上frame()を参照
wm_geometry(geometry=None)
--上のgeometry()を参照
Toplevelコンポーネントはいつ使用しますか?
Toplevelコンポーネントは、通常、追加のウィンドウ、ダイアログボックス、または他のポップアップウィンドウを表示するために使用されます.
次の例では、rootウィンドウにトップウィンドウを作成するためのボタンを追加し、次のボタンをクリックします.
from tkinter import *
root = Tk()
def create():
top = Toplevel()
top.title('Python')
msg = Message(top, text='I love study')
msg.pack()
Button(root, text=' ', command=create).pack()
mainloop()
Tk(ルートウィンドウ)とToplevel(トップウィンドウ)の方法:
次の一連の方法は、ウィンドウマネージャと対話するために使用されます.Tk(ルートウィンドウ)によって呼び出され、Toplevel(トップウィンドウ)にも適用されます.
注:すべてのオペレーティングシステムが、次のすべての方法の実装を完全にサポートしているわけではありません.
aspect(minNumber=None, minDenom=None, maxNumber=None, maxDenom=None,)
--ウィンドウのアスペクト比を制御します(width:height)
--アスペクト比制限:minNumber/minDenom~maxNumber/max Denom
--パラメータを無視した場合、現在の制限を表す4つの要素グループが返されます(存在する場合).
attribute(*args)
--ウィンドウのプロパティの設定と取得
--選択項目名のみを指定すると、現在のウィンドウの値が返されます.
--次のオプションではキーワードパラメータはサポートされていません.オプションの前に横長(-)を付け、オプションと値をカンマ(,)で区切る文字列で表す必要があります.
--たとえば、ウィンドウの透明度を50%に設定するには、attribute(alpha=0.5)の代わりにattribute(-alpha)、0.5)を使用します.
--argsが各オプションを使用できる具体的な意味と使い方を以下に示します.
Alpha:(Windows、Mac)コントロールウィンドウの透明度
1.0は不透明、0.0は完全に透明
このオプションはすべてのシステムをサポートしていません.サポートされていないシステムの場合、Tkinterは不透明な(1.0)ウィンドウを描きます.
disabled:(Windows)ウィンドウ全体を無効にします(タスクマネージャから閉じるしかありません)
fullscreen:(Windows、Mac)Trueに設定すると、ウィンドウが全画面表示されます
modified:(Mac)Trueに設定すると、ウィンドウが変更されたとマークされます
titlepath:(Mac)ウィンドウエージェントアイコンのパスを設定する
toolwindow:(Windows)Trueに設定した場合、このウィンドウはツールウィンドウのスタイルを採用します.
topmost:(Windows、Mac)Trueに設定すると、ウィンドウは常にトップになります
client(name=None)
--WM_の設定と取得CLIENT_MACHINEプロパティ
--WM_を削除する場合CLIENT_MACHINEプロパティ、空白文字列に値を割り当てる
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
colormapwindows(*wlist)
--WM_の設定と取得COLORMAP_WINDOWSプロパティ
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
command(value=None)
--WM_の設定と取得COMMAND属性
--この属性はXウィンドウシステムのウィンドウマネージャのみをサポートし、他のシステムは無視します.
deiconify()
--ウィンドウを表示
--デフォルトでは新しく作成したウィンドウは画面に表示されますが、iconify()またはwithdraw()メソッドでは画面からウィンドウを削除できます.
focusmodel(model=None)
--フォーカスモードの設定と取得
frame()
--現在のシステムフィーチャーを表す文字列を返します.
--クラスUnixシステムの場合、戻り値はXウィンドウ識別子
--Windowsシステムの場合、戻り値はHWNDが強制的にロング整形に変換した結果
geometry(geometry=None)
--ウィンドウのサイズの設定と取得
--geometryのパラメータ形式は「%dx%d%+d%+d%」%(width,height,xoffset,yoffset)
(wm_)grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
--ウィンドウマネージャに、グリッドで寸法を再調整するよう通知します.
--baseWidthとbaseHeight指定Tk_GeometryRequestが要求するメッシュ単位数
--widthIncとheightIncはセルの高さと幅を指定します.
(wm_)group(window=None)
--ウィンドウをウィンドウグループに追加
--windowパラメータ指定制御ウィンドウ群のメインウィンドウ
--このオプションを無視すると、現在のウィンドウ群のメインウィンドウに戻ります.
(wm_)iconbitmap(bitmap=None, default=None)
--ウィンドウのアイコンの設定と取得
--例えばroot.iconbitmap(bitmap="python.ico")
--defaultパラメータを使用して、ウィンドウによって作成されたサブウィンドウのデフォルトアイコンを指定できます.
(wm_)iconify()
--ウィンドウをアイコン化(最小化)
--ウィンドウを再表示するには、deiconify()メソッドを使用します.
--state()を「iconic」に戻す方法
(wm_)iconmask(bitmap=None)
--ビットマップ符号化の設定と取得
(wm_)iconname(newName=None)
--現在のウィンドウのアイコン化(最小化)時のアイコン名の設定と取得
(wm_)iconposition(x=None, y=None)
--現在のウィンドウのアイコン化(最小化)時のアイコン位置の設定と取得
(wm_)iconwindow(pathName=None)
--現在のウィンドウのアイコン化(最小化)時のコンポーネントウィンドウの設定と取得
--state()を「icon」に戻す方法
(wm_)maxsize(width=None, height=None)
--ウィンドウの最大サイズの設定と取得
(wm_)minsize(width=None, height=None)
--ウィンドウの最小サイズの設定と取得
(wm_)overrideredirect(boolean=None)
--パラメータがTrueの場合、ウィンドウはすべてのウィジェットを無視します(つまり、ウィンドウには従来のタイトルバー、枠線などのウィジェットはありません).
(wm_)positionfrom(who=None)
--ウィンドウの場所を「誰が決めるか」を指定します.
--whoパラメータが「user」の場合、ウィンドウの位置はユーザーによって決まります
--whoパラメータが「プログラム」の場合、ウィンドウの位置はシステムによって決まります
(wm_)protocol(name=None, func=None)
--コールバック関数funcを対応するルールnameにバインド
--nameパラメータは「WM_DELETE_WINDOW」:ウィンドウが閉じられたとき
--nameパラメータは「WM_SAVE_YOURSELF」:ウィンドウが保存されている場合
--nameパラメータは、「WM_TAKE_FOCUS」:ウィンドウにフォーカスがある場合
(wm_)resizable(width=None, height=None)
--ウィンドウのサイズを変更できるかどうかを指定します.
--widthがTrueの場合は、ウィンドウの水平寸法の調整が可能であることを示します
--heightがTrueの場合は、ウィンドウの垂直寸法の調整を許可します
(wm_)sizefrom(who=None)
--ウィンドウサイズを「誰が決めるか」を指定します.
--whoパラメータが「user」の場合、ウィンドウサイズはユーザーが決定する
--whoパラメータが「プログラム」の場合、ウィンドウサイズはシステムで決定します
(wm_)state(newstate=None)
--現在のウィンドウのステータスの設定と取得
--newstateは「normal」、「iconoc」(iconify参照)、「withdraw」(withdraw参照)、「icon」(iconwindow参照)、「zoomed」(拡大、Windows固有)のみです.
(wm_)title(string=None)
--ウィンドウのタイトルを設定
(wm_)transient(master=None)
--masterとして指定された一時ウィンドウ
(wm_)withdraw()
--ウィンドウを画面から削除します(破棄されません).
--deiconify()メソッドを使用してウィンドウを再表示する必要があります
--state()は「withdraw」を返します.
wm_aspect(minNumber=None, minDenom=None, maxNumber=None, manDenom=None)
--上のaspect()を参照
wm_attributes(*args)
--上のattributes()を参照
wm_client(name=None)
--上のclient()を参照
wm_colormapwindows(*wlist)
--上のcormapwindows()を参照
wm_command(value=None)
--上のcommand()を参照
wm_deiconify()
--上のdeiconify()を参照
wm_focusmodel(model=None)
--上のfocusmodel()を参照してください.
wm_frame()
--上frame()を参照
wm_geometry(geometry=None)
--上のgeometry()を参照