Python-tk-menubutton
Python-Tkinterメニューボタン
メニューボタンは、常に画面に表示されるドロップダウンメニューの一部です。 すべてのメニューボタンは、ユーザーがクリックしたときにそのメニューボタンの選択肢を表示できるメニューウィジェットに関連付けられています。
構文
このウィジェットを作成するための簡単な構文は次のとおりです-
w = Menubutton ( master, option, ... )
パラメーター
- master -これは親ウィンドウを表します。
- オプション-これは、このウィジェットで最も一般的に使用されるオプションのリストです。 これらのオプションは、カンマで区切られたキーと値のペアとして使用できます。
Sr.No. | Option & Description |
---|---|
1 |
activebackground マウスがメニューボタン上にあるときの背景色。 |
2 |
activeforeground マウスがメニューボタン上にあるときの前景色。 |
3 |
anchor このオプションは、ウィジェットにテキストが必要とする以上のスペースがある場合にテキストが配置される場所を制御します。 デフォルトは、テキストを中央揃えにするanchor = CENTERです。 |
4 |
bg ラベルとインジケータの背後に表示される通常の背景色。 |
5 |
bitmap メニューボタンにビットマップを表示するには、このオプションをビットマップ名に設定します。 |
6 |
bd インジケーターの周囲の境界線のサイズ。 デフォルトは2ピクセルです。 |
7 |
cursor マウスがこのメニューボタン上にあるときに表示されるカーソル。 |
8 |
direction direction = LEFTを設定して、ボタンの左側にメニューを表示します。 direction = RIGHTを使用して、ボタンの右側にメニューを表示します。または、direction = 'above’を使用して、ボタンの上にメニューを配置します。 |
9 |
disabledforeground このメニューボタンが無効のときに表示される前景色。 |
10 |
fg マウスがメニューボタン上にないときの前景色。 |
11 |
height テキスト行のメニューボタンの高さ(ピクセルではありません!)。 デフォルトでは、メニューボタンのサイズをそのコンテンツに合わせます。 |
12 |
highlightcolor ウィジェットにフォーカスがある場合、フォーカスに表示される色が強調表示されます。 |
13 |
image このメニューボタンに画像を表示するには、 |
14 |
justify このオプションは、テキストがメニューボタンを埋めないときにテキストが配置される場所を制御します。justify= LEFTを使用してテキストを左揃えにします(これがデフォルトです)。 justify = CENTERを使用して中央揃えにするか、justify = RIGHTを使用して右揃えします。 |
15 |
menu menubuttonを一連の選択肢に関連付けるには、このオプションをそれらの選択肢を含むMenuオブジェクトに設定します。 そのメニューオブジェクトは、関連付けられたmenubuttonを最初の引数としてコンストラクターに渡すことによって作成されている必要があります。 |
16 |
padx メニューボタンのテキストの左右に残すスペース。 デフォルトは1です。 |
17 |
pady メニューボタンのテキストの上下に残すスペース。 デフォルトは1です。 |
18 |
relief 3次元のボーダーシェーディング効果を選択します。 デフォルトはRAISEDです。 |
19 |
state 通常、メニューボタンはマウスに反応します。 state = DISABLEDを設定してメニューボタンをグレーアウトし、応答しなくします。 |
20 |
text メニューボタンにテキストを表示するには、このオプションを目的のテキストを含む文字列に設定します。 文字列内の改行( "\ n")は改行を引き起こします。 |
21 |
textvariable クラスStringVarの制御変数をこのメニューボタンに関連付けることができます。 その制御変数を設定すると、表示されるテキストが変更されます。 |
22 |
underline 通常、メニューボタンのテキストの下に下線は表示されません。 文字の1つに下線を付けるには、このオプションをその文字のインデックスに設定します。 |
23 |
width ウィジェットの幅(文字数)。 デフォルトは20です。 |
24 |
wraplength 通常、行は折り返されません。 このオプションを文字数に設定すると、すべての行がその数以下の断片に分割されます。 |
例
自分で次の例を試してください-
from Tkinter import *
import tkMessageBox
import Tkinter
top = Tk()
mb= Menubutton ( top, text="condiments", relief=RAISED )
mb.grid()
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
mayoVar = IntVar()
ketchVar = IntVar()
mb.menu.add_checkbutton ( label="mayo",
variable=mayoVar )
mb.menu.add_checkbutton ( label="ketchup",
variable=ketchVar )
mb.pack()
top.mainloop()
上記のコードが実行されると、次の結果が生成されます-