MySQL, PyQt (не является примером экзаменационного билета по ПМ.11)

Пример создания простейшего клиент-серверного приложения. Первый этап — сбор информации, анализ предметной области и проектирование. В примере будет рассмотрен книжный онлайн магазин BookShop. База данных дана в укороченном варианте и включает 5 таблиц.

Во-первых для авторизации пользователя напишем простой запрос

select * from customers where login = 'login' and password = 'passw'

Во-вторых для просмотра содержимого корзины конкретного пользователя напишем хранимую процедуру

Интерфейс приложения

Создайте python проект, установите необходимые библиотеки: PyQt6, pyqt6-tools — дизайнер форм

 После чего в основном меню компьютера “Пуск” -> выполните поиск  с параметром designer.exe или Qt Designer

Интерфейс QT Designer интуитивно понятен, проще всего создать базовое окно типа Widget

Дополнительная информация по работе с дизайнером форм https://it.kgsu.ru/Python_Qt/pyqt5_006.html.

Создайте простейшее окно авторизации в Qt Designer, оно должно содержать в себе поля для ввода учетных данных и кнопки. Меняйте имена виджетов, в дальнейшем, когда у вас в проекте появится дюжина кнопок, легче будет понять какая за что отвечает.

Дизайнер сохраняет созданные файлы в формате .ui, можно использовать их напрямую, однако более оптимальным будет конвертировать данный файл в формат .py

Подключение приложения к серверу БД

Для подключения к серверу БД у вас должен быть запущен OpenServer. Библиотек для работы с MySQL несколько, наиболее предпочnительные pymysql и mysqlclient. Конечно GPT больше любит connector, но на практике он крашится в самые веселые моменты, не идите на поводу у ИИ.

Структура проекта

Файл qwerclass.py

Импортируем библиотеку pymysql для работы с MySQL, создаем подключение к базе данных mdb.connect. Класс QwerSql() будет содержать все функции обращения к БД с различными sql инструкциями, метод user_auth() выполняет запрос к БД с целью установить правильность введённых учетных данных, в user_basket() показана работа с написанной ранее хранимой процедурой.

Файл main.py

Импорты

Класс начального окна «Авторизация»

Класс второго окна, оно открывается в случае удачной авторизации, выводит приветствие пользователя и содержимое корзины.

Запуск приложения

Результат

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *