Ещё виджеты и публичная разработка

Ещё виджеты

Разбор Д/З. В частности, функция добавления пары кнопка b + метка l и обработчика, который должен изменять цвета именно этих объектов использует замыкание относительно c и b.

   1 def addadd():
   2     '''Add new Button/label pair to root'''
   3     # Here's a trick, callback is generated too!
   4     def c():
   5         '''Change colors of this very l and b'''
   6         l["background"]=randomcolor(False)
   7         l["foreground"]=randomcolor(True)
   8         b["background"]=randomcolor(True)
   9         b["foreground"]=randomcolor(False)
  10 
  11     b = Button(root, text="Color", command=c)
  12     l = Label(root, text="Color")
  13     s, r = root.size()
  14     root.rowconfigure(r+1, weight=1)
  15     b.grid(row=r+1, column=0, sticky=E+W+S+N)
  16     l.grid(row=r+1, column=1, sticky=E+W+S+N)

Заметим также использование b["background"]=… вместо b.configure(background=…)

Публичная разработка

Цикл разработки:

Правила оформления commit (повторение+зачем)

Порталы: информационное пространство

Д/З

  1. Почитать про остальные виждеты в документации. Задать вопросы в ВКшной групе, если они появятся

  2. Для выполнения этого задания вам понадобится уникальный идентификатор. Если вы зарегистрировались на GitHub, удобно выбрать гитхабовcкий login name. Если нет — выбирайте какой хотите, но с умом (например, ИмяФамилия латинскими буквами, это снизит вероятность конфликтов).

    • Создать ветку своего репозитория на основе вот этой ветки моего

      • см. выше или спросить в группе, как это делается)
    • Скопировать файл 05_homework.py в файл 05_идентификатор.py

    • Модифицировать это дерево таким образом, чтобы:
      1. в нём содержалась ваша картинка идентификатор.png

      2. программа просматривал все .png-файлы в текущем каталоге, и из всех идентификаторов строила Listbox

      3. программа также просматривала файлы вида идентификатор.txt, в которых хранится предпочитаемое имя для Listbox, и из этих имён его и составляла

      4. (необязательно) программа должна сообщать о том, сто для каких-то .png нет соответствующих .txt и наоборот

  3. Создать pull request к моему исходному дереву. По идее, так как вы модифицируете только «свои» файлы, проблем у меня бывть не должно. Если они появились, значит, что-то пошло не так :)

LecturesCMC/PythonDevelopment2019/05_WidgetsAndCollaborative (последним исправлял пользователь FrBrGeorge 2019-03-30 15:43:18)