Python-tk-menubutton

提供:Dev Guides
移動先:案内検索

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()

上記のコードが実行されると、次の結果が生成されます-

TK Menubutton