【Tkinterシリーズ 07/15】ウィジェットメッセージ、ドロップダウンメニュー、モバイルウィンドウ

17. ウィジェットMessage

このウィジェットは ウィジェット (セクション 12「ラベル ウィジェット」を参照) に似ていますが、メッセージを複数行に表示するように適応されています。すべてのテキストは同じフォントで表示されます。複数のフォントを使用してテキストを表示する必要がある場合は、セクション 24「テキスト ウィジェット」を参照してください。Label

新しいウィジェットをルート ウィンドウまたはフレームという名前のサブウィジェットとして作成します。Messageparent

    w = tk.Message(parent, option, ...)

このコンストラクターは新しいウィジェットを返します。オプションは次のいずれかになります。Message

表 26.消息ウィジェットのオプション

aspect このオプションを使用して、幅と高さのパーセンテージを指定します。たとえば、正方形に収まるテキスト メッセージが表示されます。フォロー テキスト領域の幅は高さの 2 倍になります。デフォルトは 150 で、テキストは高さの 50% 幅のボックスに収まることを意味します。aspect=100aspect=200
bgまたはbackground テキストの背後の背景色 (セクション5.3「色」を参照)。
bdまたはborderwidth ウィジェットの周囲の境界線の幅 ( 「サイズ」を参照)。デフォルトは <> ピクセルです。このオプションは、そうでない場合にのみ表示されます。relieftk.FLAT
cursor マウスがウィジェット上にあることを指定します ( 「カーソル」を参照)。
font コントロールで使用されるフォントを指定します。セクション5.4「フォントの種類」を参照してください。
fgまたはforeground テキストの色を指定します。セクション5.3「色」を参照してください。
highlightbackground  ウィジェットにフォーカスがないときに強調表示するフォーカスされた色。セクション 53「フォーカス: キーボード入力のルーティング」を参照してください。
highlightcolor ウィジェットにフォーカスがある場合、フォーカスに表示される色が強調表示されます
highlightthickness フォーカスハイライトの太さ。
justify このオプションを使用して、複数行のテキストの配置を指定します。真っ直ぐな左マージンを取得するために、各行を中央に配置するために、そして真っ直ぐな右マージンを取得するために使用されます。justify=tk.LEFTjustify=tk.CENTERjustify=tk.RIGHT
padx テキストの左側と右側にウィジェットを配置するには、このオプションを使用します。この値はピクセル単位です。
pady このオプションを使用して、テキストの上下にウィジェットを配置します。ピクセル単位の値。
relief このオプションは、ウィジェットの外側の境界線の外観を指定します (セクション5.6「エンボススタイル」を参照)。デフォルトのスタイルは です。tk.FLAT
takefocus 通常、ウィジェットはフォーカスを取得しません ( 「フォーカス: キーボード入力のルーティング」を参照)。ウィジェットをフォーカス トラバーサル リストに追加するために使用されます。Messagetakefocus=True
text このオプションの値は、ウィジェット内に表示されるテキストです。
textvariable プログラム制御下でメッセージを変更できるようにしたい場合は、このオプションをインスタンスに関連付けます (セクション 52「変数の制御: ウィジェットの背後にある値」を参照)。この変数の値は、表示するテキストです。と の両方のオプションを指定した場合、オプションは無視されます。StringVartexttextvariabletext
width このオプションを使用して、ウィジェット内のテキスト領域の幅をピクセル単位で指定します。デフォルトの幅は、表示されるテキストとオプションの値によって異なります。aspect

18. ウィジェットOptionMenu

このウィジェットの目的は、ドロップダウン メニューで固定のオプション セットをユーザーに提供することです。

上の図は 2 つの状態を示しています。左側の例は、初期形式でそれを示しています。右側の例は、マウスをクリックして下にドラッグして選択したときの動作を示しています。OptionMenu'boat'

次の名前のルート ウィンドウまたはフレームの子として新しいウィジェットを作成します。OptionMenuparent

    w = tk.OptionMenu(parent, variable, choice1, choice2, ...)

このコンストラクターは新しいウィジェットを返します。これはウィジェットに関連付けられたインスタンス (セクション 52「制御変数: ウィジェットの背後にある値」を参照) であり、残りのパラメーターは選択され、ウィジェット内の文字列として表示されます。OptionMenuvariableStringVar

上の画像は、次のコード スニペットを使用して作成されました。

    optionList = ('train', 'plane', 'boat')
    self.v = tk.StringVar()
    self.v.set(optionList[0])
    self.om = tk.OptionMenu(self, self.v, *optionList)

ウィジェットで現在どのオプションが選択されているかを確認するために、関連する制御変数のメソッドはその選択を文字列として返します。OptionMenu.get()

19. ウィジェットPanedWindow

ウィジェットの目的は、アプリのユーザーがアプリ内でどのくらいのスペースを分割するかを制御できるようにすることです。PanedWindow

A は a に似ています。これは、子用のコンテナ ウィジェットです。各ウィジェットには、ウィジェットの水平または垂直のサブスタックが含まれています。マウスを使用して、ユーザーは境界をドラッグしてサブウィジェット間を前後に切り替えることができます。PanedWindowFramePanedWindow

  • ウィジェットにハンドルを表示するかどうかを選択できます。ハンドルは、ユーザーがマウスでドラッグできる小さな正方形です。

  • ウィンドウフレームを表示するかどうかを選択できますベルトは子供の間に挟む棒状の部品です。

  • ペインは、領域を占めるサブウィジェットです。

次の名前のルート ウィンドウまたはフレームの子として新しいウィジェットを作成します。PanedWindowparent

   w = tk.PanedWindow(parent, option, ...)

このコンストラクターは新しいウィジェットを返します。オプションは次のとおりです。PanedWindow

表 27.窗格窗口ウィジェットのオプション

bgまたはbackground 子の背後に表示する背景色ウィジェット (セクション5.3「色」を参照)。
bdまたはborderwidth 外側の境界線の幅コントロール (セクション5.1「サイズ」を参照)。デフォルトは 2 ピクセルです。
cursor マウスオーバー時に表示されるカーソルウィジェット; 「カーソル」を参照してください。
handlepad このオプションを使用して、ハンドルとベルトの端を指定します。というのは、これはサッシの左端とハンドルの間の距離、つまり、サッシの上部とハンドルの間の距離です。デフォルトは 5 ピクセルです。他の値については、セクション 1.<>「寸法」を参照してください。orient=tk.VERTICALorient=tk.HORIZONTAL
handlesize このオプションを使用してハンドルのサイズを指定します (常に正方形です;セクション5.1「サイズ」を参照してください)。デフォルトは 8 ピクセルです。
height ウィジェットの高さを指定します (セクション5.1「サイズ」を参照)。このオプションが指定されていない場合、高さは子ウィジェットの高さによって決まります。
opaqueresize このオプションは、サイズ変更操作の動作方法を制御します。デフォルトでは、ベルトをドラッグするとサイズ変更が継続的に行われます。このオプションが に設定されている場合、サッシ (および隣接するサブウィジェット) は、ユーザーがマウス ボタンを放すまでその位置に留まり、マウス ボタンを放した時点で新しい位置にジャンプします。opaqueresize=TrueFalse
orient 積み重ねられたサブアセンブリを並べて配置するには、 を使用します。上下に積み重ねるには、 を使用します。orient=tk.HORIZONTALorient=tk.VERTICAL
relief 境界線の周りにあるエンボススタイルコントロールを選択します (セクション5.6「エンボススタイル」を参照)。デフォルトは です。tk.FLAT
sashpad このオプションを使用して、各ベルトの両側に余分なスペースを割り当てます。デフォルトはゼロです。他の値については、セクション5.1「寸法」を参照してください。
sashrelief このオプションは窓枠のレンダリングに指定されます (セクション5.6「レリーフ スタイル」を参照)。 デフォルトのスタイルは です。tk.FLAT
sashwidth サッシの幅を指定します。セクション 5.1「寸法」を参照してください。デフォルトの幅は <> ピクセルです。
showhandle 表示処理に使用されます。デフォルトの場合でも、ユーザーはマウスを使用してサッシを移動できます。ハンドルは単なる視覚的な手がかりです。showhandle=TrueFalse
width ウィジェットの幅。セクション5.1「サイズ」を参照してください。値が指定されていない場合、幅は子ウィジェットのサイズによって決まります。

サブウィジェットを追加するには、親ウィジェットのサブウィジェットとしてサブウィジェットを作成しますが、そのメソッドで登録する代わりに、 を使用します。PanedWindowPanedWindow.grid().add()PanedWindow

以下はウィジェット上でのメソッドです。PanedWindow

.add(child[, option=value] ...)

このメソッドを使用して、指定されたウィジェットを次の子として追加します。まず、ウィジェットを親としてウィジェットを作成しますが、このメソッドを呼び出して登録しないでください。その後電話すると、子供は次に利用可能な場所に現れます。childPanedWindowchildPanedWindow.grid().add(child)PanedWindow

各サブアイテムには、その位置と外観を制御する一連の構成オプションが関連付けられています。「PanedWindow サブ構成オプション」を参照してください。これらの構成オプションは、キーワード引数メソッドとして提供できます。このメソッドを使用していつでもその値を設定または変更したり、このメソッドを使用してこれらのオプションの現在の値を取得したりすることもできます。これらのメソッドについては以下で説明します。.add().paneconfig().panecget()

.forget(child)

サブウィジェットを削除します。

.identify(xy

对于窗口坐标中的给定位置,此方法返回 描述该位置的要素的值。(xy)

  • 如果功能是子窗口,则方法 返回一个空字符串。

  • 如果特征是分扇,则该方法返回 元组,其中第一个为 0 腰带,1 表示第二个,依此类推。(n, 'sash')n

  • 如果特征是句柄,则该方法返回 元组,其中第一个为 0 句柄,1 表示第二个,依此类推。(n, 'handle')n

.panecget(childoption)

此方法检索子小部件的值 配置选项,其中 是子小部件,是选项的名称作为 字符串。对于子小部件配置的列表 选项,请参见第 19.1 节 “PanedWindow 子配置 选项”。childoption

.paneconfig(childoption=value, ...)

使用此方法为子项配置选项 部件。第 19.1 节 “PanedWindow 子配置 ”中描述了这些选项。 选项”。

.panes()

此方法返回子小部件的列表,在 从左到右(对于)或从上到下(对于)的顺序。orient=tk.HORIZONTALorient=tk.VERTICAL

.remove(child)

删除给定的 ;这是相同的 操作作为方法。child.forget()

.sash_coord(index)

此方法返回窗扇的位置。参数选择腰带:0 表示 前两个孩子,一个为第二个之间的腰带 和第三个孩子,等等。结果是一个包含坐标的元组 腰带的左上角。index(xy)

.sash_place(indexxy)

使用此方法重新定位由 (0 对于第一个腰带,依此类推)。和坐标 指定左上角所需的新位置 腰带的一角。特金特忽略坐标 与微件的方向正交:使用值 以重新定位 的窗扇,并使用坐标 移动窗扇选项。indexxyxorient=tk.HORIZONTALyorient=tk.VERTICAL

9.1. 子配置 选项PanedWindow

        a 的每个子项都有一组 控制其位置和 外观。当孩子时,可以提供这些选项 与方法一起添加,或设置 使用方法,或查询 使用所描述的方法 以上。PanedWindow.add().paneconfig().panecget()

表 28.PanedWindow 子小部件选项

after 通常,当你一个新的 子到一个,新的 子组件将添加到任何现有子小组件之后。 您可以改用该选项插入 新小部件位于现有小部件之后的位置 子小部件 ..add()PanedWindowafter=ww
before 在调用方法时用作选项时,将新小部件放在 现有子小部件之前的位置。before=w.add()w
height 此选项指定所需的高度 子小部件;请参见第 5.1 节 “尺寸”。
minsize このオプションを使用して、サブアセンブリの方向を指定します。の場合、これは最小の幅であり、 の場合、これは最小の高さです。許可される値については、セクション5.1「ディメンション」を参照してください。PanedWindoworient=tk.HORIZONTALorient=tk.VERTICAL
padx サブウィジェットの左右に追加する追加スペースの量 (セクション5.1「サイズ」を参照)。
pady 子ウィジェットの上下に追加する追加スペースの量 (セクション5.1「サイズ」を参照)。
sticky このオプションはメソッドのパラメータのように機能します (セクション4.1「.grid() メソッド」を参照してください)。ペインがウィジェットより大きい場合に子ウィジェットを配置する方法を指定します。たとえば、ウィジェット ペインの左上 (「北西」) 隅に配置します。sticky.grid()sticky=tk.NW
width 子ウィジェットの希望の幅 (セクション5.1「サイズ」を参照)。

おすすめ

転載: blog.csdn.net/gongdiwudu/article/details/132580355