Геометрия Tk и публичный репозиторий Git
Tk
Все примеры данной лекции отражены в коммитах репозитория на GitHub, файл еxample03.py
- Label (Метка) (чтобы примеры были нескучные)
- Понятие упаковщика
- размещение виджетов
- определение размера виджетов
- и всё это при изменении размера окна
- Упаковщик place(очень плохо), pack (плохой), grid (странный, но норм)
примеры отсюда: https://effbot.org/tkinterbook
- почему не бывает хороших упаковщиков
- работа с grid: планирование UI, недостатки
- Frame, зачем нужен
- контейнер
- …внутри которого можно использовать другой упаковщик
Свойства виджетов, их задание непосредственно и с помощью .config()
Git
Работа с публичными репозиториями
- Клонирование:
- git clone
- git remote
содержимое .git/config
- Цикл работы
- Создание
git clone или git init для нового
- Перейти к п. 2
- Синхронизация
git pull (это fetch + merge)
- Изменение рабочей копии
hack
git add
git commit
- Перейти к п. 2.1
- Публикация
git push
- Создание
Клонирование чужого репозитория для последующей работы
Cоздать пустой репозиторий средствами площадки публикации
Например, для GitHub:
- Склонировать его пустой
$ git clone https://github.com/FrBrGeorge/TempRepo.git Cloning into 'TempRepo'... warning: You appear to have cloned an empty repository.
- Обновить его из чужого репозитория (должно сработать, т. к. пустой репозиторий не содержит истории)
$ cd TempRepo $ git pull http://git.altlinux.org/people/george/public/Group.git From http://git.altlinux.org/people/george/public/Group * branch HEAD -> FETCH_HEAD
- Опубликовать то, что получилось (должно сработать, т. к. пустой репозиторий не содержит истории)
$ git push Username for 'https://github.com': FrBrGeorge Password for 'https://FrBrGeorge@github.com': Enumerating objects: 20, done. Counting objects: 100% (20/20), done. Delta compression using up to 8 threads Compressing objects: 100% (10/10), done. Writing objects: 100% (20/20), 8.31 KiB | 8.31 MiB/s, done. Total 20 (delta 5), reused 20 (delta 5) remote: Resolving deltas: 100% (5/5), done. To https://github.com/FrBrGeorge/TempRepo.git * [new branch] master -> master
Д/З
Склонировать https://github.com/FrBrGeorge/PythonDevelopment2019
модифицировать так, чтобы было:
- Работа приложения (один или несколько коммитов)
- Изначально 2 кнопки: «Add» и «Exit» (в строку)
- По нажатию кнопки «Exit» — выход
- По нажатию кнопки «Add»:
- добавляется пара Кнопка и Метка (в строку)
При нажатии на одну из добавленных Кнопок, для текста и фона соответствующей Метки выбираются случайные цвета (по имени)
- Использовать другой упаковщик для рамки (минимум один коммит)
- При растягивании окна «Add» и «Exit» меняются только в ширину, а остальные — и в ширину, и в высоту (минимум один коммит)
(необязательно) Сделать случайные цвета не совсем случайными (чтобы текст был хорошо виден на фоне). Цвета имеет смысл задавать по интенсивности RGB-составляющих (строка с шестнадцатеричным шестизначным числом вида "#RRGGBB", например, "PeachPuff" — это "#ffdab9")
- Работа приложения (один или несколько коммитов)