Advertisement
mirovlad

InitiDataCompanyForm1.py

Jul 28th, 2022
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.12 KB | None | 0 0
  1. from tkinter import *
  2.  
  3. #Пример с клас, в който
  4. # * референции към всички уиджити се трупат в речник вътре (като свойство на обектите от класа)
  5. # * с метод fill(data), който може да попълни уиджитите с данни, подадени му отвън в речник
  6. class InitDataCompanyForm(Tk):
  7.     def __init__(self):
  8.         # Пропуснато: заглавие и геометрия на прозореца
  9.         self.__widgets = {}
  10.  
  11.     # Създаване на entry с ширина подразбиране 20
  12.     def create_entry(self, width=20):
  13.         entry = Entry(self, width=width)
  14.         entry.pack()
  15.         return entry
  16.  
  17.     def add_widgets(self):
  18.         self.__widgets["company_name_entry"] = self.create_entry();
  19.         self.__widgets["company_address_entry"] = self.create_entry());
  20.  
  21.  
  22.     # Полз
  23.     def fill(data):
  24.         # Слагане на някакво име на фирма
  25.         self.self.__widgets["company_name_entry"].delete(0,END)
  26.         self.self.__widgets["company_name_entry"].insert(0, data["company_name"])
  27.  
  28.         self.self.__widgets["company_address_entry"].delete(0,END)
  29.         self.self.__widgets["company_address_entry"].insert(0, data["company_address"])
  30.  
  31.  
  32. if __name__ == "__main__":
  33.     test_window = InitDataCompanyForm()  # Съзадаване на тестов прозорец
  34.     test_window.fill({ # Попълване с тестови данни
  35.         "company_name": "Гугъл ООД",
  36.         "company_address": "Ул. Силиконова долина 15",
  37.     })
  38.     test_window.mainloop()  # Отваряне на прозореца
  39.  
  40.  
  41.     test_window2 = InitDataCompanyForm()  # Съзадаване на втори тестов прозорец
  42.     test_window2.fill({ # Попълване с тестови данни
  43.         "company_name": "Микрософт  ООД",
  44.         "company_address": "Ул. Прозоречна 45",
  45.     })
  46.     test_window2.mainloop()  # Отваряне на прозореца
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement