Skip to content

aerpyljov/CGScripting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The repository contains the results of my work on "Advanced Python Scripting" course from www.cgscripting.ru.

It replaces the "PyQT" repository with the previous version of this course.

Course programme (in Russian):

    Основы Python
        Теория
        Настройка компьютера
        Переменные
        Типы данных
        Динамическая типизация
        Операторы
        Функции
        Создание папок
        Обработка секвенций
        Системные аргументы
		
    Основы классов
        Установка IDE
        Пространства имён
        Что такое класс
        Реализация класса
        Методы и атрибуты класса
		
    Принципы ООП
        Принципы ООП. Инкапсуляция
        Принципы ООП. Наследование
        Принципы ООП. Полиморфизм
        Статические атрибуты и методы класса
        Декораторы
		
    Текстовые форматы данных
        Запись и чтение текстовых данных
        Модуль pickle
        Модуль JSON
        Модуль XML
        Атрибуты объекта
		
    Конструкции Python
        Set или множества
        Генераторы списков
        Функция lambda
        Сортировка списков
        Функция map
        Функция zip
        Функция-генератор
        Обработка исключений
        Контекст менеджер
		
    Дополнительные материалы
        Системный путь. TEMP директория
        ZipFile
        Модуль Glob
		
    Основы PySide
        Установка PyQt
        Создание простого виджета
        Создание класса виджета
        Сигналы и слоты
        QtDesigner
        Компиляция UI файлов
        Изменение параметров виджета
        Лейауты
        Класс QMainWindow
        Создание простого проекта
        Практика. Программа расчёта площади
		
    Класс виджета
        Стандартные диалоги. MessageBox и InputDialog
        Стандартные диалоги. FileDialog
        Создание кастомного диалога
        Виджет списка QListWidget
        Виджет таблицы QTableWidget
        Виджет древовидного списка QTreeWidget.
		
    Project Manager
        Введение
        Создание проекта в PyCharm
        Подготовка виджетов
        Реализация классов виджетов
        Завершение
		
    Контекстное Меню
        Главное меню окна
        Эвент контекстного меню
        Коннекты в динамическом меню
        Расширение стандартного контекстного меню
        Переопределение метода mousePressEvent
		
    Иконки и картинки
        Иконки для кнопок
        Создание модуля для иконок
        Иконки для меню и панели инструментов
        Иконки для элементов списка
        Иконка для окна
        Варианты отображение иконок в QListWidget
        Вставка изображения в интерфейс
        Ресурсы
        Завершение базового блока
		
    Drag&Drop (PRO)
        Принципы Drag and Drop
        Включение Drag and Drop
        Получение данных из MimeData
        Добавление элемента списка с помощью D&D
        Перемещение элементов списка между виджетами
        Иконка перетаскивания
        Определение источника перетаскивания
        Настройка кнопок мыши для Drag and Drop
		
    Image Converter (PRO)
        Консольный конвертер
        Подготовка виджетов
        Реализация процесса конвертирования
        Реализация класса списка
        Реализация запуска конвертирования
        Домашнее задание
		
    Дополнительные материалы (PRO)
        Документация Qt
        External Tool в PyCharm
        Live Templates в PyCharm
        Event Filter
		
    Кастомный виджет (PRO)
        Основные принципы рисования виджета
        Рисование примитивов
        Sine виджет
        Интерактивный виджет
        Color Picker
		
    Графическая сцена (PRO)
        Что такое графическая сцена Qt
        Структура графической сцены
        Создание простой графической сцены
        Создание своего элемента сцены
		
    Sequence Editor (PRO)
        Введение и план
        Настройка фона сцены
        Реализация кастомного айтема
        Реализация привязки к сетке
        Выделение айтемов
        Панорамирование сцены
        Проверка коллизии айтемов
        Динамическое изменение курсора
        Изменение размера айтема
        Коллизия во время изменения размера
        Итоги и задание
		
    Стили интерфейса (PRO)
        Что такое стили интерфейса
        Заготовки стилей Qt
        Каскадные таблицы стилей
        Назначение стиля интерфейсу
        Простые параметры на примере QLineEdit
        Определение стиля для состояний на примере QPushButton
        Определение стиля контролов на примере QSlider.
        Использование изображений в стиле
        Элементы списка на примере QTreeWidget
        Индивидуальные стили виджетов
        Стиль для QMenuBar и QMenu
        Домашнее задание
		
    Процессы и потоки (PRO)
        Процессы
        Использование класса QProcess
        Отображение прогресса выполнения
        Потоки
        Выполнение задачи в отдельном потоке
        Получение данных из потока в процессе работы
		
    Компиляция в Standalone (PRO)
        Зачем нужна компиляция. Установка Pyinstaller
        Простая компиляция с pyinstaller
        Компиляция в единый файл
        Получение корневой папки
        Подключение внешних библиотек
		
    Основы работы с сетью (PRO)
        Сетевой протокол TCP
        Получение локального IP адреса
        Создание подключения по TCP протоколу
        Обработка ошибок подключения

About

Advanced Python Scripting course from www.cgscripting.ru

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published