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

記事一覧 Python.use(better, Tkinter)《Python3.1》

Listbox

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

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

部品 Listbox の基本的な機能を紹介します。

事例:Listbox

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

>>> tips1()



>>> tips2()


def tips1():
    class TIPS(object):
        def __init__(self, master, items):
            self.items = items
            self.canvas = self.create_Canvas(master)
            self.widget = self.create_Listbox(master)
            self.canvas.grid(row=0, column=0)
            self.widget.grid(row=0, column=1)

        def create_Canvas(self, master):
            widget = Canvas(
                master,
                width=100, height=100, relief=RIDGE, borderwidth=5,
                )
            return widget

        def create_Listbox(self, master):
            items = self.items

            widget = Listbox(
                master,
                width=max(len(e) for e in items),
                height=len(items),
                )
            for e in items:
                widget.insert(END, e)
            widget.bind("", self)
            widget.pack()
            return widget

        def __getitem__(self, index):
            return self.items[index]
        
        def __call__(self, event):
            index,*_ = [int(e) for e in self.widget.curselection()]
            bg = self[index]
            self.canvas.config(bg=bg)

    ## ----------------------------------------
    root = Tk()
    root.title("Listbox")
    root.config(padx=8, pady=4)

    s = "red", "green", "blue",
    TIPS(root, s)
    
    root.mainloop()

》こちらに移動中です《
TOP