LibCoder

Python 3 и PyQt 6: Разработка приложений

1C Agda Python
Python 3 и PyQt 6: Разработка приложений
Дата выхода: 2023
Издательство: БХВ-Петербург
Количество страниц: 834
Размер файла: 47,7 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Предисловие....16 Python....16 PyQt....17 Использованное ПО....17 Типографские соглашения....17 ЧАСТЬ I. ОСНОВЫ ЯЗЫКА PYTHON....20 Глава 1. Первые шаги....22 1.1. У становка Python....22 1.2. Интерактивный режим Python. Утилита IDLE....25 1.3. Введение в Python-программирование....26 1.4. Принципы написания Python-программ....28 1.4.1. Комментарии и строки документирования....31 1.4.2. Кодировки, поддерживаемые Python....32 1.4.3. Подготовка Python-программ для выполнения в UNIX....32 1.5. Дополнительные возможности IDLE....33 1.6. Вывод данных....34 1.7. Ввод данных....36 1.8. Утилита pip: установка дополнительных библиотек....38 1.9. Доступ к документации....43 1.10. Компиляция Python-файлов....45 Глава 2. Переменные и типы данных....47 2.1. Переменные....47 2.2. Типы данных. Понятие объекта и ссылки....48 2.3. Присваивание значений переменным....51 2.4. Проверка типа данных....53 2.5. Преобразование типов данных....54 2.6. Удаление переменных....57 Глава 3. Операторы....58 3.1. Математические операторы....58 3.2. Двоичные операторы....60 3.3. Операторы для работы с последовательностями....61 3.4. Операторы присваивания....62 3.5. Пустой оператор....64 3.6. Приоритет операторов....64 Глава 4. Инструкции ветвления, выбора и циклы....66 4.1. Операторы сравнения....67 4.2. Инструкция ветвления....69 4.3. Инструкция выбора....72 4.4. Цикл перебора последовательности....78 4.5. Цикл с условием....79 4.6. Оператор continue: переход на следующую итерацию цикла....80 4.7. Оператор break: прерывание цикла....80 4.8. Оператор присваивания в составе инструкции....81 Глава 5. Числа....83 5.1. Запись чисел....83 5.2. Обработка чисел....85 5.3. Математические функции....88 5.4. Генерирование случайных чисел....90 Глава 6. Строки и двоичные данные....93 6.1. Создание строк....93 6.1.1. Специальные символы....95 6.1.2. Необрабатываемые строки....96 6.2. Операции над строками....97 6.3. Форматирование строк....99 6.4. MeTojtformatO....105 6.4.1. Форматируемые строки....109 6.5. Функции и методы для работы со строками....110 6.6. Настройка локали....113 6.7. Изменение регистра символов....114 6.8. Функции для работы с символами....115 6.9. Поиск и замена в строке....115 6.10. Проверка содержимого строки....119 6.11. Двоичные данные типа bytes....122 6.12. Двоичные данные типа bytearray....126 6.13. Сериализация и десериализация значений....129 6.14. Хеширование значений....130 Глава 7. Регулярные выражения....132 7.1. Синтаксис регулярных выражений....132 7.2. Поиск первого совпадения с шаблоном....141 7.3. Поиск всех совпадений с шаблоном....146 7.4. Замена в строке....147 7.5. Прочие функции и методы....149 Глава 8. Списки, кортежи, множества и диапазоны....151 8.1. Создание списков....151 8.2. Операции над списками....153 8.3. Многомерные списки....156 8.4. Перебор списков....156 8.5. Генераторы списков и выражения-генераторы....157 8.6. Функции тар(), zip(), filter() и reduce()....159 8.7. Добавление и удаление элементов списка....162 8.8. Поиск элемента в списке и получение сведений об элементах списка....164 8.9. Переворачивание и перемешивание списка....165 8.10. Выбор элементов списка случайным образом....166 8.11. Сортировка списка....167 8.12. Заполнение списка числами....169 8.13. Преобразование списка в строку....169 8.14. Кортежи....170 8.15. Множества, изменяемые и неизменяемые....171 8.16. Диапазоны....176 8.17. Модуль itertools....178 8.17.1. Генерирование неопределенного количества значений....178 8.17.2. Генерирование комбинаций значений....179 8.17.3. Фильтрация элементов последовательности....181 8.17.4. Прочие функции....182 Глава 9. Словари....186 9.1. Создание словаря....186 9.2. Операции над словарями....188 9.3. Перебор элементов словаря....190 9.4. Методы и функции для работы со словарями....191 9.5. Генераторы словарей....194 Глава 10. Работа с датой и временем....195 10.1. Получение текущих даты и времени....195 10.2. Форматирование даты и времени....197 10.3. Приостановка выполнения программы....199 10.4. Значения даты и времени....199 10.4.1. Временные промежутки....199 10.4.2. Значения даты....202 10.4.3. Значения времени....205 10.4.4. Временные отметки....208 10.5. Вывод календаря....214 10.5.1. Вывод календаря в текстовом виде....214 10.5.2. Вывод календаря в формате HTML....216 10.5.3. Другие полезные функции....218 10.6. Измерение времени выполнения фрагментов кода....221 Глава 11. Функции....223 11.1. Определение и вызов функции....223 11.1.1. Расположение определений функций....225 11.1.2. Локальные и глобальные переменные....226 11.1.3. Позиционные и именованные параметры....229 11.1.4. Необязательные параметры....231 11.1.5. Произвольное количество параметров....232 11.1.6. Распаковка последовательностей и отображений....234 11.6.7. Функция как значение. Функции обратного вызова....234 11.2. Анонимные функции....235 11.3. Функции-генераторы....237 11.4. Декораторы функций....238 11.5. Рекурсия....240 11.6. Вложенные функции....241 11.7. Аннотации функций....243 Глава 12. Модули, пакеты и импорт....244 12.1. Импорт модуля целиком....244 12.2. Импорт отдельных идентификаторов....247 12.2.1. Указание идентификаторов, доступных для импорта....249 12.2.2. Управление доступом к идентификаторам....249 12.3. Пути поиска модулей....250 12.4. Перезагрузка модулей....252 12.5. Пакеты....253 Глава 13. Объекты и классы....257 13.1. Определение классов, создание объектов и работа с ними....257 13.2. Атрибуты класса....260 13.3. Конструкторы и деструкторы....261 13.4. Наследование....262 13.4.1. Множественное наследование....264 13.4.1.1. Примеси и их использование....266 13.5. Специальные методы....267 13.6. Перегрузка операторов....270 13.7. Статические методы и методы класса....272 13.8. Абстрактные методы....273 13.9. Закрытые атрибуты и методы....274 13.10. Свойства....275 13.11. Декораторы классов....277 Глава 14. Исключения и их обработка....279 14.1. Обработчики исключений....280 14.2. Обработчики контекстов....284 14.3. Классы встроенных исключений....286 14.4. Генерирование исключений....288 14.5. Пользовательские исключения....290 14.6. Проверочная инструкция....291 Глава 15. Итераторы, контейнеры и перечисления....293 15.1. Итераторы....293 15.2. Контейнеры....294 15.2.1. Контейнеры-последовательности....294 15.2.2. Контейнеры-отображения....296 15.3. Перечисления....297 Глава 16. Работа с файлами и каталогами....303 16.1. Открытие файлов....303 16.1.1. Указание путей к файлам и каталогам....306 16.1.2. Текущий рабочий каталог....307 16.2. Чтение и запись данных: объектные инструменты....308 16.3. Чтение и запись данных: низкоуровневые инструменты....314 16.4. Файлы в памяти....316 16.5. Задание прав доступа к файлам и каталогам....320 16.6. Работа с файлами....322 16.7. Работа с путями....326 16.8. Перенаправление ввода/вывода....327 16.9. Сохранение объектов в файлах....329 16.10. Работа с каталогами....332 16.10.1. Функция scandirQ....336 16.11. Исключения, генерируемые файловыми операциями....338 Глава 17. Работа с механизмами Windows....339 17.1. Работа с реестром....339 17.1.1. Открытие и закрытие ветвей реестра....340 17.1.2. Чтение и запись данных реестра....341 17.1.3. Перебор элементов и вложенных ветвей реестра....344 17.2. Получение путей к системным каталогам....345 17.3. Создание ярлыков....346 ЧАСТЬ II. БИБЛИОТЕКА PYQT 6....348 Глава 18. Введение в PyQt 6....350 18.1. Установка PyQt 6....350 18.2. Первая оконная программа....350 18.3. Структура PyQt-программы....351 18.4. ООП-стиль создания окна....353 18.5. Создание окон с помощью программы Qt Designer....357 18.5.1. Создание окон....357 18.5.2. Использование UI-файла в программе....360 18.5.3. Преобразование UI-файла в модуль Python....362 18.6. Модули PyQt 6....363 18.7. Управление циклом обработки событий....364 18.8. Многопоточные программы....366 18.8.1. Потоки....366 18.8.2. Управление потоками....369 18.8.3. Очереди....373 18.8.4. Блокировщики и автоблокировщики....377 18.9. Вывод заставки....380 Глава 19. Окна....383 19.1. Создание и вывод окон....383 19.1.1. Типы окон....384 19.2. Размеры окон и управление ими....385 19.3. Местоположение окна и управление им....388 19.4. Классы, задающие координаты и размеры....391 19.4.1. Класс QPoint: координаты точки....391 19.4.2. Класс QSize: размеры прямоугольной области....392 19.4.3. Класс QRect: координаты и размеры прямоугольной области....394 19.5. Разворачивание и сворачивание окон....400 19.6. Управление прозрачностью окна....402 19.7. Модальные окна....402 19.8. Смена значка окна....404 19.9. Изменение цвета фона окна....405 19.10. Вывод изображения в качестве фона....406 19.11. Окна произвольной формы....407 19.12. Всплывающие и расширенные подсказки....409 19.13. Программное закрытие окна....410 19.14. Использование таблиц стилей CSS для оформления окон....410 Глава 20. Обработка сигналов и событий....415 20.1. Назначение обработчиков сигналов....415 20.1.1. Слоты....418 20.1.2. Передача данных в обработчик сигнала....419 20.2. Блокировка и удаление обработчиков сигналов....420 20.3. Генерирование сигналов....422 20.4. Пользовательские сигналы....422 20.5. Использование таймеров....424 20.6. Обработка всех событий....427 20.7. События окна....430 20.7.1. Изменение состояния окна....430 20.7.2. Изменение местоположения и размеров окна....431 20.7.3. Перерисовка окна или его части....432 20.7.4. Предотвращение закрытия окна....432 20.8. События клавиатуры....433 20.8.1. Управление фокусом ввода....433 20.8.2. Назначение клавиш быстрого доступа....436 20.8.3. Нажатие и отпускание клавиш....438 20.9. События мыши....440 20.9.1. Нажатие и отпускание кнопок мыши....440 20.9.2. Перемещение курсора мыши....441 20.9.3. Наведение и увод курсора мыши....442 20.9.4. Прокрутка колесика мыши....442 20.9.5. Изменение курсора мыши....443 20.10. Операция перетаскивания (drag & drop)....444 20.10.1. Запуск перетаскивания....444 20.10.1.1. Задание перетаскиваемых данных....446 20.10.2. Обработка перетаскивания и сброса....447 20.11. Работа с буфером обмена....449 20.12. Фильтрация событий....450 20.13. Генерирование событий....451 20.14. Пользовательские события....451 Глава 21. Размещение компонентов в окнах. Контейнеры....452 21.1. Абсолютное позиционирование....452 21.2. Контейнеры-стопки....453 21.3. Контейнер-сетка....456 21.4. Контейнер-форма....458 21.5. Стеки....461 21.6. Управление размерами компонентов....462 21.7. Группа....463 21.8. Панель с рамкой....465 21.9. Панель с вкладками....466 21.10. Аккордеон....470 21.11. Панель с изменяемыми областями....472 21.12. Прокручиваемая панель....474 Глава 22. Основные компоненты....476 22.1. Надпись....476 22.2. Кнопка....478 22.3. Переключатель....480 22.4. Флажок....481 22.5. Поле ввода....481 22.5.1. Основные методы и сигналы....482 22.5.2. Ввод данных по маске....485 22.5.3. Контроль ввода с помощью валидаторов....486 22.6. Область редактирования....487 22.6.1. Основные методы и сигналы....487 22.6.2. Задание параметров области редактирования....489 22.6.3. Указание параметров текста и фона....491 22.6.4. Класс QTextDocument....492 22.6.5. Класс QTextCursor....495 22.7. Текстовый браузер....498 22.8. Поля для ввода целых и вещественных чисел....500 22.9. Поля для ввода даты и времени....502 22.10. Календарь....505 22.11. Семисегментный индикатор....507 22.12. Индикатор процесса....508 22.13. Шкала с ползунком....509 22.14. Круговая шкала с ползунком....511 22.15. Полоса прокрутки....512 22.16. Веб-браузер....512 Глава 23. Списки и таблицы....517 23.1. Раскрывающийся список....517 23.1.1. Добавление, изменение и удаление элементов....517 23.1.2. Изменение параметров списка....518 23.1.3. Поиск элементов....519 23.1.4. Сигналы....520 23.2. Список для выбора шрифта....520 23.3. Роли элементов....521 23.4. Модели....522 23.4.1. Доступ к данным внутри модели....522 23.4.2. Класс QStringListModel....524 22.4.3. Класс QStandardltemModel....525 23.4.4. Класс QStandardltem....529 23.5. Представления....532 23.5.1. Класс QAbstractltemView....533 23.5.2. Простой список....536 23.5.3. Таблица....538 23.5.4. Иерархический список....540 23.5.5. Управление заголовками строк и столбцов....542 23.6. Управление выделением элементов....545 22.7. Промежуточные модели....547 23.8. Использование делегатов....548 Глава 24. Работа с базами данных....552 24.1. Соединение с базой данных....552 24.2. Получение сведений о структуре таблиц....555 24.2.1. Получение сведений о таблицах....555 24.2.2. Получение сведений о полях таблиц....556 24.2.3. Получение сведений о ключевом индексе....557 24.2.4. Получение сведений об ошибке....557 24.3. Выполнение SQL-запросов и получение их результатов....558 24.3.1. Выполнение запросов....558 24.3.2. Обработка результатов выполнения запросов....561 24.3.3. Очистка запроса....563 24.3.4. Получение служебных сведений о запросе....564 24.4. Модели, связанные с данными....564 24.4.1. Модель, связанная с SQL-запросом....564 24.4.2. Модель, связанная с таблицей..................................i....566 24.4.3. Модель, поддерживающая межтабличные связи....571 24.4.4. Использование связанных делегатов....574 Глава 25. Работа с графикой....576 25.1. Вспомогательные классы....576 25.1.1. Класс QColor. цвет....576 25.1.2. Класс QPen: перо....580 25.1.3. Класс QBrush: кисть....581 25.1.4. Класс QLine: линия....582 24.1.5. Класс QPolygon: многоугольник....583 25.1.6. Класс QFont: шрифт....585 25.2. Класс QPainter....587 25.2.1. Рисование линий и фигур....588 25.2.2. Вывод текста....590 25.2.3. Вывод изображений....591 25.2.4. Преобразование систем координат....593 25.2.5. Сохранение команд рисования в файл....594 25.3. Работа с растровыми изображениями....595 25.3.1. Класс QPixmap....595 25.3.2. Класс QBitmap....598 25.3.3. Класс Qlmage....599 25.3.4. Класс Qlcon....602 Глава 26. Графическая сцена....604 26.1. Графическая сцена....604 26.1.1. Настройка графической сцены....604 26.1.2. Добавление и удаление графических объектов....605 26.1.3. Добавление компонентов на сцену....606 26.1.4. Поиск графических объектов....606 26.1.5. Управление фокусом ввода....608 26.1.6. Управление выделением объектов....608 26.1.7. Прочие методы и сигналы....609 26.2. Графическое представление....610 26.2.1. Настройка графического представления....610 26.2.2. Преобразования между координатами представления и сцены....612 26.2.3. Поиск объектов....613 26.2.4. Преобразование системы координат....613 26.2.5. Прочие методы....614 26.3. Графические объекты....615 26.3.1. Класс QGraphicsItem: базовый класс для графических объектов....615 26.3.1.1. Настройка графического объекта....615 26.3.1.2. Выполнение преобразований....617 26.3.1.3. Прочие методы....618 26.3.2. Готовые графические объекты....619 26.3.2.1. Линия....619 26.3.2.2. Класс QAbstractGraphicsShapeltem....619 26.3.2.3. Прямоугольник....620 26.3.2.4. Многоугольник....620 26.3.2.5. Эллипс....620 26.3.2.6. Изображение....621 26.3.2.7. Простой текст....622 26.3.2.8. Форматированный текст....622 26.4. Группировка объектов....623 26.5. Эффекты....624 26.5.1. Класс QGraphicsEffect....624 26.5.2. Тень....625 26.5.3. Размытие....626 26.5.4. Изменение цвета....626 26.5.5. Изменение прозрачности....626 26.6. Обработка событий....627 26.6.1. События клавиатуры....627 26.6.2. События мыши....628 26.6.3. Обработка перетаскивания и сброса....631 26.6.4. Фильтрация событий....632 26.6.5. Обработка изменения состояния объекта....632 Глава 27. Диалоговые окна....635 27.1. Пользовательские диалоговые окна....635 27.2. Класс QDialogButtonBox....637 27.3. Класс QMessageBox....640 27.3.1. Основные методы и сигналы....641 27.3.2. Окно информационного сообщения....643 27.3.3. Окно подтверждения....644 27.3.4. Окно предупреждающего сообщения....645 27.3.5. Окно критического сообщения....645 27.3.6. Окно сведений о программе....646 27.3.7. Окно сведений о фреймворке Qt....646 27.4. Класс QlnputDialog....647 27.4.1. Основные методы и сигналы....648 27.4.2. Окно для ввода строки....650 27.4.3. Окно для ввода целого числа....650 27.4.4. Окно для ввода вещественного числа....651 27.4.5. Окно для выбора пункта из списка....652 27.4.6. Окно для ввода большого текста....652 27.5. Класс QFileDialog....653 27.5.1. Основные методы и сигналы....654 27.5.2. Окно для выбора каталога....656 27.5.3. Окно для открытия файлов....657 27.5.4. Окно для сохранения файла....659 27.6. Окно для выбора цвета....660 27.7. Окно для выбора шрифта....661 27.8. Окно для вывода сообщения об ошибке....662 27.9. Окно с индикатором хода процесса....663 27.10. Создание многостраничного мастера....664 27.10.1. Класс QWizard....664 27.10.2. Класс QWizardPage....668 Глава 28. Создание SDI- и МШ-программ....671 28.1. Главное окно программы....671 28.2. Меню и действия....676 28.2.1. Класс QMenuBar....676 28.2.2. Класс QMenu....677 28.2.3. Контекстное меню компонента....680 28.2.4. Класс QAction....681 28.2.5. Объединение действий-переключателей в группу....684 28.3. Панели инструментов....685 28.3.1. Класс QToolBar....686 28.3.2. Класс QToolButton....687 28.4. Прикрепляемые панели....689 28.5. Строка состояния....690 28.6. MDI-программы....691 28.6.1. Класс QMdiArea....691 28.6.2. Класс QMdiSubWindow....694 28.7. Добавление значка программы в область уведомлений....695 Глава 29. Мультимедиа....697 29.1. Воспроизведение мультимедиа....697 29.1.1. Мультимедийный проигрыватель....697 29.1.2. Звуковой выход. Воспроизведение звука....700 29.1.3. Метаданные мультимедийного источника....705 29.1.4. Видеопанель. Воспроизведение видео....708 29.2. Запись мультимедиа....710 29.2.1. Транспорт....710 29.2.2. Звуковой вход....711 29.2.3. Кодировщик звука и видео....711 29.2.4. Указание форматов кодирования. Запись звука....713 29.2.5. Камера. Запись видео....717 29.2.6. Кодировщик статичных изображений. Захват фото....721 29.3. Воспроизведение звуковых эффектов....723 Глава 30. Печать документов....727 30.1. Основные средства печати....727 30.1.1. Класс QPrinter....727 30.1.2. Вывод на печать....730 30.1.3. Служебные классы....736 30.1.3.1. Класс QPageSize....736 30.1.3.2. Класс QPageLayout....738 30.2. Задание параметров принтера и страницы....740 30.2.1. Класс QPrintDialog....740 30.2.2. Класс QPageSetupDialog....741 30.3. Предварительный просмотр....743 30.3.1. Класс QPrintPreviewDialog....743 30.3.2. Класс QPrintPreviewWidget....746 30.4. Класс QPrinterlnfcr. получение сведений об устройстве печати....748 30.5. Класс QPdfWriter. экспорт в формат PDF....750 Глава 31. Сохранение настроек программ....753 31.1. Создание объекта класса QSettings....753 31.2. Запись и чтение данных....754 31.2.1. Базовые средства записи и чтения данных....754 31.2.2. Группировка сохраняемых значений. Ключи....756 31.2.3. Запись списков....758 31.3. Вспомогательные методы класса QSettings....760 31.4. Где хранятся настройки?....760 Глава 32. Программа «Судоку»....762 32.1. Правила судоку....762 32.2. Описание программы «Судоку»....763 32.3. Разработка программы....765 32.3.1. Подготовительные действия....765 32.3.2. Класс MyLabel: ячейка поля судоку....765 32.3.3. Класс Widget: поле судоку....769 32.3.3.1. Конструктор класса Widget....770 32.3.3.2. Прочие методы класса Widget....772 32.3.4. Класс MainWindow: основное окно программы....776 32.3.4.1. Конструктор класса Main Window....777 32.3.4.2. Остальные методы класса MainWindow....780 32.3.5. Главный модуль....780 32.3.6. Копирование и вставка головоломок....781 32.3.6.1. Форматы данных....781 32.3.6.2. Реализация копирования и вставки в классе Widget....781 32.3.6.3. Реализация копирования и вставки в классе MainWindow....784 32.3.7. Сохранение и загрузка данных....788 32.3.8. Печать и предварительный просмотр....790 32.3.8.1. Реализация печати в классе Widget....791 32.3.8.2. Класс PreviewDialog: диалоговое окно предварительного просмотра....792 32.3.8.3. Реализация печати в классе MainWindow....795 Заключение....797 Приложение. Описание электронного архива....798 Предметный указатель....799

Описание

В этом материале разберём тему: данных.

Особое внимание уделено библиотеке PyQt, позволяющей создавать приложения с графическим интерфейсом. Описан язык Python 3: типы данных, операторы, условия ветвления и выбора, циклы, регулярные выражения, функции, классы, работа с файлами и каталогами, взаимодействие с механизмами Windows, часто используемые модули стандартной библиотеки. Описаны средства для создания и вывода окон, основных компонентов (кнопок, полей, полей, списков, таблиц, меню, панелей инструментов и др.). Дан пример полнофункционального приложения для создания и решения головоломок судоку. Рассмотрена обработка событий и сигналов, разработка многопоточных программ, работа с базами данных, вывод графики, воспроизведение мультимедиа, запись аудио, видео и фото, печать документов, экспорт их в формат Adobe PDF и сохранения настроек программ. На сайте издательства размещен электронный архив со всеми примерами из книги.

Для программистов

Типы данных PythonОбъектно-ориентированное программированиеРабота с файлами и каталогамиВзаимодействие с WindowsСоздание оконных программРабота с базами данныхМультимедиаЗапись звука, видео и фотоПечать и экспорт в формат PDFРаботающий пример: приложение «Судоку»

Если материал оказался полезен — сохраните страницу.

данных python pyqt разработка работа файлами приложения создания

Частые вопросы

Можно ли скачать «Python 3 и PyQt 6: Разработка приложений» бесплатно?

Да, «Python 3 и PyQt 6: Разработка приложений» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 47,7 МБ.

Кто автор и когда вышла книга?

автор — Дронов Владимир Александрович , Прохоренок Николай Анатольевич, издательство БХВ-Петербург, год выпуска 2023, 834 страниц.

О чём книга «Python 3 и PyQt 6: Разработка приложений»?

Описан язык Python 3: типы данных, операторы, условия ветвления и выбора, циклы, регулярные выражения, функции, классы, работа с файлами и каталогами, взаимодействие с механизмами Windows, часто используемые модули стандартной библиотеки.

Похожие материалы