Advertisement
mirovlad

Init_data_company_form3.py

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