Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- #Пример с клас, в който
- # * референции към всички уиджити се трупат в речник вътре (като свойство на обектите от класа)
- # * с метод fill(data), който може да попълни уиджитите с данни, подадени му отвън в речник
- class InitDataCompanyForm(Tk):
- def __init__(self):
- # Пропуснато: заглавие и геометрия на прозореца
- self.__widgets = {}
- # Създаване на entry с ширина подразбиране 20
- def create_entry(self, width=20):
- entry = Entry(self, width=width)
- entry.pack()
- return entry
- def add_widgets(self):
- self.__widgets["company_name_entry"] = self.create_entry();
- self.__widgets["company_address_entry"] = self.create_entry());
- # Полз
- def fill(data):
- # Слагане на някакво име на фирма
- self.self.__widgets["company_name_entry"].delete(0,END)
- self.self.__widgets["company_name_entry"].insert(0, data["company_name"])
- self.self.__widgets["company_address_entry"].delete(0,END)
- self.self.__widgets["company_address_entry"].insert(0, data["company_address"])
- if __name__ == "__main__":
- test_window = InitDataCompanyForm() # Съзадаване на тестов прозорец
- test_window.fill({ # Попълване с тестови данни
- "company_name": "Гугъл ООД",
- "company_address": "Ул. Силиконова долина 15",
- })
- test_window.mainloop() # Отваряне на прозореца
- test_window2 = InitDataCompanyForm() # Съзадаване на втори тестов прозорец
- test_window2.fill({ # Попълване с тестови данни
- "company_name": "Микрософт ООД",
- "company_address": "Ул. Прозоречна 45",
- })
- test_window2.mainloop() # Отваряне на прозореца
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement