49

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

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

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

Создаем планировщик на PyQt Python, Qt, Длиннопост

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

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

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

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

879 постов11.9K подписчика

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

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


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

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

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

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

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

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


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

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

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

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

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