Pygtk-menubar-menu-menuitem
PyGTK-MenuBar、MenuおよびMenuItem
トップレベルgtk.Windowのタイトルバーのすぐ下にある水平バーは、一連のメニューを表示するために予約されています。 PyGTK APIのgtk.MenuBarクラスのオブジェクトです。
gtk.Menuクラスのオブジェクトがメニューバーに追加されます。 また、コンテキストメニューとポップアップメニューの作成にも使用されます。 各メニューには、1つ以上のgtk.MenuItemウィジェットを含めることができます。 それらのいくつかはサブメニューになり、カスケードされたMenuItemボタンを持つことができます。
gtk.MenuBarは、gtk.MenuShellクラスのサブクラスです。 それは単純なデフォルトのコンストラクタを持っています-
MenuBarにメニューを追加するには、MenuBarクラスのappend()メソッドが使用されます。
メニューを構築するには、メニューバーに表示するラベルを含むMenuItemウィジェットを作成し、サブメニューとして設定します。
たとえば、次のコードは、[ファイル]メニューを設定するために使用されます-
これで、MenuItemクラスの1つ以上のウィジェットをメニューに追加できます。
これらのMenuItemはメニューウィジェットに追加され、メニューオブジェクトはメニューバーに追加されます。
PyGTKツールキットは、多くのタイプのMenuItemウィジェットを提供します。 ImageMenuItemは、画像が関連付けられたメニュー項目です。 Stock IDパラメーターを使用して任意のストック画像を使用するか、set_image()メソッドで他の画像を割り当てることができます。
たとえば、画像を持つ「新規」メニュー項目は次の方法で作成されます-
同様に、次のコードを使用してCheckMenuItemを追加することも可能です-
ラジオ項目のグループは、このコードを使用して追加することもできます-
メニュー項目の間に区切り線を追加したい場合があります。 そのために、 SeparatorMenuItem も使用できます。
メニュー項目にキーボードショートカットを割り当てることもできます。 PyGTKにはアクセラレーターがあります。 アクセラレータグループを作成して開始し、それをトップレベルウィンドウにアタッチします。
ショートカットを割り当てるには、次のプロトタイプで* add_accelerator()*関数を使用します-
以下は、事前定義された修飾子の一部です-
- SHIFT_MASK
- LOCK_MASK
- CONTROL_MASK
- BUTTON1_MASK
- BUTTON1_MASK
新しいメニュー項目にCtrl + Nショートカットを割り当てるために、次の構文を使用します-
例
次の例は、上記の機能を示しています-
上記のコードは、次の出力を生成します-