《Python3.0》Menubutton Widget #1 ★

Python.use(better, Tkinter)記事一覧
Menubutton Widget #1

《著》森こねこ+小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2006/11/28 ● 第3版♪2009/05/12

概要:Menubutton Widget

>>> print(Menubutton.__doc__)
Menubutton widget, obsolete since Tk8.0.

事例:Menubutton Widget

モジュールを起動すると、次のようなウィンドウが現れます。

$ python3.0 exMenubutton1.py 

 

コードの解説:

#! /usr/bin/Python3.0
from tkinter import *

class Ex(Frame):
    def __init__(self, root, **keys):
        super().__init__(root, **keys)
        self.tk_menuBar(
            self.makeFileMenu(),
            self.makeEditMenu(),
            )

    ## ----------------------------------------
    def makeFileMenu(self):
        button = Menubutton(
            self,
            text = 'File',
            )
        button.pack(side = LEFT, padx = "1m")
        button.menu = Menu(button)
        for label, command in [
            ('New Window', self.file_new ),
            ('Open...'   , self.file_open),
            ('Quit'      , self.quit     ),
        ]:
            button.menu.add_command(
                label = label,
                command = command,
                )
        button['menu'] = button.menu
        return button

    def file_new(self):
        print("File >> New Window")

    def file_open(self):
        print("File >> Open...")

    ## ----------------------------------------
    def makeEditMenu(self):
        button = Menubutton(
            self,
            text = 'Edit',
            )
        button.pack(side = LEFT, padx = "5m")
        button.menu = Menu(button)
        for label in "Undo", "Cut", "Copy", "Paste":
            button.menu.add_command(label = label)
        button.menu.entryconfig(0, state = DISABLED)
        button['menu'] = button.menu
        return button

## ----------------------------------------
def example(*args):
    root = Tk()

    frame = Ex(root)
    frame.pack()

    root.title('Menubutton')
    root.minsize(width = 180, height = 100)
    root.mainloop()

## ----------------------------------------
if __name__=='__main__':
    example()

Tips

》作業中です《

Last updated♪09/06/05