blog.furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Tworzenie widgetu w Tkinter

Przykład wykorzystania dziedziczenia z Frame do stworzenia widgetu.
Poniżej własny widget, który składa pola do wprowadzania tekstu Entry oraz pola Label w którym na bieżąco pokazywany jest tekst wpisany w Entry.

Potem ten widget jest wykorzystany wielokrotnie w głównym oknie i widać, że pojawia się wielokrotnie para Label i Entry i każda para działa niezależnie.

import Tkinter as tk


class MyWidget(tk.Frame):

    def __init__(self):
        tk.Frame.__init__(self)

        self.text = tk.StringVar()

        self.label = tk.Label(self, textvariable=self.text)
        self.label.pack()

        self.entry = tk.Entry(self, textvariable=self.text)
        self.entry.pack()


class App(tk.Tk):

    def __init__(self):
        tk.Tk.__init__(self)
        MyWidget().pack()
        MyWidget().pack()
        MyWidget().pack()
        MyWidget().pack()
        MyWidget().pack()
        MyWidget().pack()
        MyWidget().pack()

    def run(self):
        self.mainloop()

App().run()
Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury