49

Создаем планировщик на PyQt

Это второй пост по PyQt, Если вы хотите легче вникнуть в происходящие, то можете посмотреть первый пост.
Также весь код находится на моем GitHub

Сегодня мы создадим удобный планировщик, который будет фильтровать задачи по дате и представлять их в удобном нам виде. Примерный вид планировщика:

Для начало установим и откроем откроем редактор Qt Designer.

После открытия дизайнера, вам высветится диалоговое окно и предложит вам выбрать один из предложенных вариантов.

Что такое диалоговое окно и когда оно используется я вам расскажу в последующих статьях, а сейчас мы выбираем Main Window, потому что Main Window - это главное окно приложение ( об этом я подробнее рассказывал в предыдущей статье ).

Далее нажимаем кнопку "Создать". После нажатия мы увидим большое пустое окно с меню.

Меню нам сейчас не понадобится, значит надо его удалить! Кликаем правой кнопкой мыши на белое пространство и выбираем пункт "Удалить панель меню"

Добавим календарь ( самый главный элемент в нашем приложении ). Виджет называется Сalendar Widget.

Сейчас будем добавлять кнопку, поле для просмотра задач, а также добавим виджет Time Edit.

Дизайн почти готов, осталось сделать форму адаптивной и нормально разместить элементы.

Перетащим Vertical Layout в окно и на Vertical Layout перетащим Text Browser и кнопку.

Также добавим Line Edit.

Далее находим в инспекторе объектов centralwidget и компонуем объекты в грид сетку.

Далее сохраняем нашу форму в папке calendar ( папка, как и сам файл можно называть по разному ).

Дело за малым. Нам осталось написать само добавление задач.

Открываем папку с проектом и в консоль вводим магическую команду, которая превратит ваш ui файл в python файл. После -x идет название вашего ui файла, а после -o идет название python файла, в который вы хотите поместить ui компоненты.

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

Но мы не будем писать код нашей программы в этом файле ( это считается плохой практикой ). Вместо этого мы создадим новый файл, в который запихнем наш qt.py

Далее мы создадим словарь для легкой фильтрации. После чего наш initUi будет выглядеть так.

И наконец функция find_date, которая будет составлять главную часть нашей программы. В ней будят производится все вычисления.

Если вы запустите свою программу она должна работать.

Дз:
1. Поменять фон
2. Поменять цвет кнопки
3. отправить изменения мне на GitHub для проверки.

Ссылка на все файлы - https://github.com/l-arkadiy-l/PYQT-EXAMPLES/tree/main/lessons/calendar

Программирование на python

929 постов11.9K подписчиков

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу