Python.use(better,Tkinter)《余録》Listbox/Scrollbar

記事一覧

Python.use(better, Tkinter)
Listbox/Scrollbar《Python3.1》

《著》森こねこ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪1993/11/25

概要

Tkinter によるオブジェクト指向プログラミングへの扉を開きます。
※ Tcl/Tk で作成した例題を、Tkinter で再構成しました。

〓 事例

次のコードを実行すると、ウィンドウが現われます。

>>> ex3()


def ex3():
    class TIPS(object):
        def __init__(self, master):
            frame = self.create_Frame(master)
            listbox = self.create_Listbox(frame)
            scrollbar = self.create_Scrollbar(frame, listbox, VERTICAL  )

            listbox  .grid(row=0, column=0, sticky=NSEW)
            scrollbar.grid(row=0, column=1, sticky=NS  )

        def create_Frame(self, master):
            widget = Frame(master)
            widget.rowconfigure   (0, weight=1)
            widget.columnconfigure(0, weight=1)
            widget.pack(fill=BOTH, expand=True)
            return widget

        def create_Listbox(self, master):
            widget = Listbox(master, bg="aliceblue")
            for e in widget.keys():
                widget.insert(END, e)
            return widget

        def create_Scrollbar(self, master, listbox, orient):
            position = {            # resource
                HORIZONTAL: "x",
                VERTICAL  : "y",
                }
            xy = position[orient]
            widget = Scrollbar(master, orient=orient)
            widget.config(command=getattr(listbox, "%sview"%xy))
            listbox["%sscrollcommand"%xy] = widget.set
            return widget

    ## ----------------------------------------
    root = Tk()
    root.title("Listbox")
    root.geometry("150x100")

    TIPS(root)

    root.mainloop()

Last updated♪2009/09/07