Использование Git; введение в Tkinter

Система контроля версий:

Коротко о VCS/DVCS

VCS:

Цикл работы с VCS

Используется централизованный репозиторий на всех

  1. Синхронизация
  2. Редактирование / отладка
  3. Оформление коммита
  4. Публикация

Проблема: совместная работа над одним корпусом текстов

DVCS

Цикл работы с DVCS

Цикл:

  1. Синхронизация
  2. Разработка (в цикле)
    1. Редактировние / отладка
    2. Оформление коммита
    3. Сохранение коммита в локальный репозиторий
  3. Публикация коммитов в публичный репозиторий

Минимальные правила

Остальные правила (содержимое commit message, ветки, теги и т. п. — определяются дисциплиной разработки)

Пример:

  1. init/clone (развёртывание)

    • («проблема зарождения жизни»: создание репозитория для публикации)

  2. pull (синхронизация)

  3. Разработка
    1. Редактирование
    2. add (регистрация изменений)

    3. commit (фиксация изменений)

  4. push (публикация)

Технические подробности:

TkInter

Один из самых старых интерфейсных инструментариев

Простейшая программа

   1 import tkinter as tk
   2 
   3 class Application(tk.Frame):
   4     def __init__(self, master=None):
   5         tk.Frame.__init__(self, master)
   6         self.grid()
   7         self.createWidgets()
   8 
   9     def createWidgets(self):
  10         self.quitButton = tk.Button(self, text='Quit', command=self.quit)
  11         self.quitButton.grid()
  12 
  13 app = Application()
  14 app.master.title('Sample application')
  15 app.mainloop()

Принципы:

Особенность: верхнеуровневое окно Tk

Пример побольше (разберём если успеем)

   1 import time
   2 import tkinter as tk
   3 
   4 class Application(tk.Frame):
   5     def __init__(self, master=None):
   6         tk.Frame.__init__(self, master)
   7         self.grid()
   8         self.createWidgets()
   9         self.showtime()
  10 
  11     def showtime(self):
  12         self.time.set(time.strftime("%c"))
  13 
  14     def createWidgets(self):
  15         self.time = tk.StringVar()
  16         self.timeButton = tk.Button(self, text='Time', command=self.showtime)
  17         self.quitButton = tk.Button(self, text='Quit', command=self.quit)
  18         self.timeLabel = tk.Label(self, textvariable=self.time)
  19         self.timeButton.grid()
  20         self.quitButton.grid(row=0, column=1)
  21         self.timeLabel.grid(columnspan=2)
  22 
  23 app = Application()
  24 app.master.title('Sample application')
  25 app.mainloop()

Д/З

LecturesCMC/PythonDevelopment2021/01_DvcsAndTkInter (последним исправлял пользователь FrBrGeorge 2021-02-19 18:45:17)