Описан базовый синтаксис языка Python: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, работа с файлами и каталогами, часто используемые модули стандартной библиотеки. Приведены основы базы данных SQLite, интерфейс доступа к базе и способы получения данных из Интернета. Особое внимание уделено библиотеке PyQt, позволяющей создавать приложения с графическим интерфейсом на языке Python. Рассмотрены способы обработки сигналов и событий, управление свойствами окна, создание формы с помощью программы Qt Designer, работа многопоточных приложений, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню, панели инструментов и др.) и варианты их размещения внутри окна. На сайте издательства приведены все примеры из книги.
Название: Python 3 и PyQt. Разработка приложений Автор: Прохоренок Н. А. Издательство: БХВ-Петербург Год: 2012 Страниц: 702 Формат: PDF Размер: 28,9 МБ ISBN: 978-5-9775-0797-4 Качество: Отличное
Содержание:
Введение ЧАСТЬ 1. ОСНОВЫ PYTHON 3 Г лава 1. Первые шаги 1.1. Установка Python 1.2. Первая программа на Python 1.3. Структура программы 1.4. Комментарии 1.5. Скрытые возможности IDLE 1.6. Вывод результатов работы программы 1.7. Ввод данных 1.8. Доступ к документации Глава 2. Переменные 1.1. Именование переменных 2.2. Типы данных 2.3. Присваивание значения переменным 2.4. Проверка типа данных 2.5. Преобразование типов данных 2.6. Удаление переменной Глава 3. Операторы; 3.1. Математические операторы 3.2. Двоичные операторы 3.3. Операторы для работы с последовательностями 3.4. Операторы присваивания 3.5. Приоритет выполнения операторов Глава 4. Условные операторы и циклы 4.1. Операторы сравнения 4.2. Оператор ветвления if…else 4.3. Цикл fоr 4.4. Функции range() и enumerate() 4.5. Цикл while 4.6. Оператор continue. Переход на следующую итерацию цикла 4.7. Оператор break. Прерывание цикла Глава 5. Числа 5.1. Встроенные функции для работы с числами 5.2. Модуль math. Математические функции 5.3. Модуль random. Генерация случайных чисел Глава 6. Строки 6.1. Создание строки 6.2. Специальные символы 6.3. Операции над строками 6.4. Форматирование строк 6.5. Метод format() 6.6. Функции и методы для работы со строками 6.7. Настройка локали 6.8. Изменение регистра символов 6.9. Функции для работы с символами 6.10. Поиск и замена в строке 6.11. Проверка типа содержимого строки 6.12. Тип данных bytes 6.13. Тип данных bytearray 6.14. Преобразование объекта в последовательность байтов 6.15. Шифрование строк Глава 7. Регулярные выражения 7.1. Синтаксис регулярных выражений 7.2. Поиск первого совпадения с шаблоном 7.3. Поиск всех совпадений с шаблоном 7.4. Замена в строке 7.5. Прочие функции и методы Глава 8. Списки и· кортежи 8.1. Создание списка; 8.2. Операции над списками 8.3. Многомерные списки 8.4. Перебор элементов списка 8.5. Генераторы списков и выражения-генераторы 8.6. Функции map(), zip(), filter() и reduce() 8.7. Добавление и удаление элементов списка 8.8. Поиск элемента в списке 8.9. Переворачивание и перемешивание списка 8.10. Выбор элементов случайным образом 8.11. Сортировка списка 8.12. Заполнение списка числами 8.13. Преобразование списка в строку 8.14. Кортежи 8.15. Модуль itertools 8.15.1. Генерация неопределенного количества значений 8.15.2. Генерация комбинаций значений 8.15.3. Фильтрация элементов последовательности 8.15.4. Прочие функции Глава 9. Словари и множества 9.1. Создание словаря 9.2. Операции над словарями 9.3. Перебор элементов словаря 9.4. Методы для работы со словарями 9.5. Генераторы словарей 9.6. Множества 9.7. Генераторы множеств Г лава 10. Работа с датой и временем 10.1. Получение текущей даты и времени 10.2. Форматирование даты и времени 10.3. "Засыпание" скрипта 10.4. Модуль datetime. Манипуляции датой и временем 10.4.1. Класс timedelta 10.4.2. Класс date 10.4.3. Класс time 10.4.4. Класс datetime 10.5. Модуль calendar. Вывод календаря 10.5.1. Методы классов TextCalendar и LocaleTextCalendar 10.5.2. Методы классов HTMLCalendar и LocaleHTMLCalendar 10.5.3. Другие полезные функции 10.6. Измерение времени выполнения фрагментов кода Глава 11. Пользовательские функции 11.1. Создание функции и ее вызов 11.2. Расположение определений функций 11.3. Необязательные параметры и сопоставление по ключам 11.4. Переменное число параметров в функции 11.5. Анонимные функции 11.6. Функции-генераторы 11.7. Декораторы функций 11.8. Рекурсия. Вычисление факториала 11.9. Глобальные и локальные переменные 11.10. Вложенные функции 11.11. Аннотации функций Глава 12. Модули и пакеты 12.1·. Инструкция import 12.2. Инструкция from 12.3. Пути поиска модулей 12.4. Повторная загрузка модулей 12.5. Пакеты Глава 13. Объектно-ориентированное программирование 13.1. Определение класса и создание экземпляра класса 13.2. Методы _init_() и _del_() 13.3. Наследование 13.4. Множественное наследование 13.5. Специальные методы 13.6. Перегрузка операторов 13.7. Статические методы и методы класса 13.8. Абстрактные методы 13.9. Ограничение достуnа к идентификаторам внутри класса 13.10. Свойства класса 13.11. Декораторы классов Глава 14. Обработка нсключеннй 14.1. Инструкция try…except…else…finally 14.2. Инструкция with…as 14.3. Классы встроенных исключений 14.4. Пользовательские исключения Глава·15. Работа с файлами и каталогами 15.1. Открытие файла 15.2. Методы для работы с файлами 15.3. Доступ к файлам с помощью модуля os 15.4. Классы StringIO и BytesIO 15.5. Права доступа к файлам и каталогам 15.6. Функции для манипулирования файлами 15.7. Преобразование пути к файлу или каталогу 15.8. Перенаправление ввода/вывода 15.9. Сохранение объектов в файл 15.10. Функции для работы с каталогами Глава 16. Основы SQLite 16.1. Создание базы данных 16.2. Создание таблицы 16.3. Вставка записей 16.4. Обновление и удаление записей 16.5. Изменение свойств таблицы 16.6. Выбор записей 16.7. Выбор записей из нескольких таблиц 16.8. Условия в инструкции WHERE 16.9. Индексы 16.10. Вложенные запросы 16.11. Транзакции 16.12. Удаление таблицы и базы данных Глава 17. Доступ к базе данных SQLite нз Python 17.1. Создание и открытие базы данных 17.2. Выполнение запроса 17.3. Обработка результата запроса 17.4. Управление транзакциями 17.5. Создание пользовательской сортировки 17.6. Поиск без учета регистра символов 17.7. Создание агрегатных функций 17.8. Преобразование типов данных 17.9. Сохранение в таблице даты и времени 17.10. Обработка исключений Глава 18. Взаимодействие с Интернетом 18.1. Разбор URL-aдpeca 18.2. Кодирование и декодирование строки запроса 18.3. Преобразование относительной ссылки в абсолютную 18.4. Разбор НТМL-эквивалентов 18.5. Обмен данными по протоколу НТТР 18.6. Обмен данными с помощью модуля urllib.request 18.7. Определение кодировки ЧАСТЬ 11. СОЗДАНИЕ. ОКОННЫХ ПРИЛОЖЕНИЙ Глава 19. Знакомство с PyQt 19.1. Установка PyQt 19.2. Первая программа 19.3. Структура программы 19.4. ООП-стиль создания окна 19.5. Создание окна с помощью программы Qt Designer 19.5.1. Создание формы 19.5.2. Загрузка ui-файла в программе 19.5.3. Преобразование ui-файла в py-файл 19.6. Модули PyQt 19.7. Типы данных в PyQt 19.8. Управление основным циклом приложения 19.9. Многопоточные приложения 19.9.1. Класс QThread. Создание потока 19.9.2. Управление циклом внутри потока 19.9.3. Модуль queue. Создание очереди заданий 19.9.4. Классы QMutex и QMutexLocker 19.10. Вывод заставки 19.11. Доступ к документации Глава 20. Управление окном приложения 20.1. Создание и отображение окна 20.2. Указание типа окна 20.3. Изменение и получение размеров окна 20.4. Местоположение окна на экране 20.5. Указание координат и размеров 20.5.1. Класс QPoint. Координаты точки 20.5.2. Класс QSize. Размеры прямоугольной области 20.5.3. Класс QRect. Координаты и размеры прямоугольной области 20.6. Разворачивание и сворачивание окна' 20.7. Управление прозрачностью окна 20.8. Модальные окна 20.9. Смена иконки в·заголовке окна 20.10. Изменение цвета фона окна 20.11. Использование изображения в качестве фона 20.12. Создание окна произвольной формы 20.13. Всплывающие подсказки 20.14. Закрытие окна из программы Глава 21. Обработка сигналов и событий 21.1. Назначение обработчиков сигналов 21.2. Блокировка и удаление обработчика 21.3. Генерация сигнала из программы 21.4. Новый стиль назначения и удаления обработчиков 21.5. Передача данных в обработчик 21.6. Использование таймеров 21.7. Перехват всех событий 21.8. События окна 21.8.1. Изменение состояния окна 21.8.2. Изменение положения окна и его размеров 21.8.3. Перерисовка окна или его части 21.8.4. Предотвращение закрытия окна 21.9. События клавиатуры 21.9.1. Установка фокуса ввода 21.9.2. Назначение клавиш быстрого доступа 21.9.3. Нажатие и отпускание клавиши на клавиатуре 21.10. События мыши 21.10.1. Нажатие и отпускание кнопки мыши 21.10.2. Перемещение указателя 21.10.3. Наведение и выведение указателя 21.10.4. Прокрутка колесика мыши 21.10.5. Изменение внешнего вида указателя мыши 21.11. Технология drag & drop 21.11.1. Запуск перетаскивания 21.11.2. Класс QMimeData 21.11.3. Обработка сброса 21.12. Работа с буфером обмена 21.13. Фильтрация событий 21.14. Искусственные события Глава 22. Размещение нескольких компонентов в окне 22.1. Абсолютное позиционирование 22.2. Горизонтальное и вертикальное выравнивание 22.3. Выравнивание по сетке 22.4. Выравнивание компонентов формы 22.5. Классы QStackedLayout и QStackedWidget 22.6. Класс QSizePolicy 22.7. Объединение компонентов в группу 22.8. Панель с рамкой 22.9. Панель с вкладками 22.10. Компонент "аккордеон" 22.11. Панели с изменяемым размером 22.12. Область с полосами прокрутки Глава 23. Основные компоненты 23.1. Надпись 23.2. Командная кнопка 23.3. Переключатель 23.4. Флажок 23.5. Однострочное текстовое поле 23.5.1. Основные методы и сигналы 23.5.2. Ввод данных по маске 23.5.3. Контроль ввода 23.6. Многострочное текстовое поле 23.6.1. Основные методы и сигналы 23.6.2. Изменение настроек поля 23.6.3. Изменение характеристик текста и фона 23.6.4. Класс QTextDocument 23.6.5. Класс QTextCursor 23.7. Текстовый браузер 23.8. Поля для ввода целых и вещественных чисел 23.9. Поля для ввода даты и времени 23.10. Календарь 23.11. Электронный индикатор 23.12. Индикатор хода процесса 23.13. Шкала с ползунком 23.14. Класс QDial 23.15. Полоса прокрутки Глава 24. Списки и таблицы 24.1. Раскрывающийся список 24.1.1. Добавление, изменение и удаление элементов 24.1.2. Изменение настроек 24.1.3. Поиск элемента внутри списка 24.1.4. Сигналы 24.2. Список для выбора шрифта: 24.3. Роли элементов 24.4. Модели 24.4.1. Доступ к данным внутри модели 24.4.2. Класс QStringListModel 24.4.3. Класс QStandardltemModel 24.4.4. Класс QStandardltem 24.5. Представления 24.5.1. Класс QAbstractltemView 24.5.2. Простой список 24.5.3. Таблица 24.5.4. Иерархический список 24.5.5. Управление заголовками строк и столбцов 24.6. Управление выделением элементов 24.7. Промежуточные модели Глава 25. Работа с графикой 25.1. Вспомогательные классы 25.1.1. Класс QColor. Цвет 25.1.2. Класс QPen. Перо 25.1.3."Класс QBrush. Кисть 25.1.4. Класс QLine. Линия · 25.1.5. Класс QPolygon. Многоугольник 25.1.6. Класс QFont. Шрифт 25.2. Класс QPainter 25.2.1. Рисование линий и фигур 25.2.2. Вывод текста 25.2.3. Вывод изображения 25.2.4. Преобразование систем координат 25.2.5. Сохранение команд рисования в файл 25.3. Работа с изображениями 25.3.1. Класс QPixmap 25.3.2. Класс QBitmap 25.3.3. Класс QImage 25.3.4. Класс QIcon Глава 26. Графическая сцена 26.1. Класс QGraphicsScene. Сцена 26.1.1. Настройка параметров сцены 26.1.2. Добавление и удаление графических объектов 26.1.3. Добавление компонентов на сцену 26.1.4. Поиск объектов 26.1.5. Управление фокусом ввода 26.1.6. Управление выделением объектов 26.1.7. Прочие методы и сигналы 26.2. Класс QGraphicsView. Представление 26.2.1. Настройка параметров представления 26.2.2. Преобразования между координатами представления и сцены 26.2.3. Поиск объектов 26.2.4. Трансформация систем координат 26.2.5. Прочие методы 26.3. Класс QGraphicsItem. Базовый класс для графических объектов 26.3.1. Настройка параметров объекта 26.3.2. Трансформация объекта 26.3.3. Прочие методы 26.4. Графические объекты 26.4.1. Линия 26.4.2. Класс QAbstractGraphicsShapeltem 26.4.3. Прямоугольник 26.4.4. Многоугольник 26.4.5. Эллипс 26.4.6. Изображение 26.4.7. Простой текст 26.4.8. Форматированный текст 26.5. Группировка объектов: 26.6. Эффекты 26.6.1. Класс QGraphicsEffect 26.6.2. Тень 26.6.3. Размытие 26.6.4. Изменение цвета 26.6.5. Изменение прозрачности 26.7. Обработка событий 26.7.1. События клавиатуры: 26.7.2. События мыши 26.7.3. Обработка перетаскивания и сброса 26.7.4. Фильтрация событий 26.7.5. Обработка изменения состояния объекта Глава 27. Диалоговые окна 27.1. Пользовательские диалоговые окна 27.2. Класс QDialogButtonBox 27.3. Класс QMessageBox 27.3.1. Основные методы и сигналы 27.3.2. Окно для вывода обычного сообщения 27.3.3. Окно запроса подтверждения 27.3.4. Окно для вывода предупреждающего сообщения 27.3.5. Окно для вывода критического сообщения 27.3.6. Окно "О программе" 27.3.7. Окно "About Qt" 27.4. Класс QInputDialog 27.4.1. Основные методы и сигналы 27.4.2. Окно для ввода строки 27.4.3. Окно для ввода целого числа 27.4.4. Окно для ввода вещественного числа 27.4.5. Окно для выбора пункта из списка 27.5. Класс QFileDialog 27.5.1. Основные методы и сигналы 27.5.2. Окно для выбора каталога 27.5.3. Окна для открытия файла 27.5.4. Окна для сохранения файла 27.6. Окно для выбора цвета 27.7. Окно для выбора шрифта 27.8. Окно для вывода сообщения об ошибке 27.9. Окно с индикатором хода nроцесса 27.10. Создание многостраничного мастера 27.10.1. Класс QWizard 27.10.2. Класс QWizardPage Глава 28. Создание SDI- и МDI-прнложеннй 28.1. Создание главного окна приложения 28.2. Меню 28.2.1. Класс QMenuBar 28.2.2. Класс QMenu 28.2.3. Контекстное меню 28.2.4. Класс QAction 28.2.5. Объединение переключателей в группу 28.3. Панели инструментов 28.3.1. Класс QToolBar 28.3.2. Класс QTooiButton 28.4. Прикрепляемые панели 28.5. Управление строкой состояния 28.6. МDI-приложения 28.6.1. Класс QMdiArea 28.6.2. Класс QMdiSubWindow 28.7. Добавление иконки приложения в область уведомлений Заключение Приложение. Описание электронного архива Предметный указатель