Приложение To-Do — классический проект для любого начинающего программиста. Узнайте, как создать его с помощью Python и Tkinter.
Приложение To-Do, иногда называемое диспетчером задач, позволяет пользователям более эффективно организовывать свои задачи и управлять ими. Вы можете создать список ежедневных или еженедельных задач, установить сроки и напоминания, расставить приоритеты, отслеживать их прогресс и делиться ими с другими.
Приложение To-Do позволяет управлять временем, повышать производительность и снижать уровень стресса. Итак, как вы можете создать его на Python?
Модуль Ткинтера
Вы можете использовать Tkinter для создания приложения To-Do. Tkinter позволяет создавать настольные приложения. Он предлагает множество виджетов, таких как кнопки, метки и текстовые поля, которые упрощают разработку приложений. Некоторые приложения, которые вы можете разработать с помощью Tkinter, включают в себя Приложение-словарь, Музыкальный проигрыватель, а Инструмент преобразования веса, и Игра «Словесная мешанина».
Чтобы установить Tkinter, откройте терминал и выполните:
пип установить ткинтер
Как создать приложение To-Do с помощью Python
Вы можете найти исходный код приложения To-Do в этом Репозиторий GitHub.
Импортируйте модуль Tkinter и инициализируйте корневое окно. Используя настроить() функция, установите цвет фона. Также установите заголовок и размер окна.
от ткинтер Импортировать *
от tkinter.font Импортировать Шрифт
корень = Тк()
root.configure (фон ="# A020f0")
корень.заголовок(«Приложение списка дел»)
корень.геометрия("750x500")
Определите стиль шрифта и виджет рамки. Фрейм действует как контейнер и отвечает за расположение других виджетов. Установите родительское окно, в которое вы хотите его поместить, и задайте для него вертикальный отступ 10.
Определите виджет списка. Этот компонент отображает список элементов для выбора пользователем. Установите родительское окно, в которое вы хотите его поместить, стиль шрифта, ширину, высоту, цвет фона, ширину границы и цвет шрифта. Кроме того, установите толщину выделения фокуса, цвет фона, который он должен иметь при выборе, и внешний вид активной линии как Никто.
Организуйте список, поместив его слева и сказав, чтобы он заполнял любое лишнее пространство в обоих направлениях.
my_font = Шрифт (семейство ="Ариал", размер =22, вес ="смелый")
my_frame = Фрейм (корень)
my_frame.pack (pady=10)
my_list = Список (my_frame, font=my_font, width=40, высота =7, бг="#cf9fff", бд=0, фг="# 5c4033", толщина подсветки =0, выберите фон ="#ff0000", активный стиль ="никто")
my_list.pack (сторона = СЛЕВА, заполнение = ОБА)
Определите полосу прокрутки, которую программа будет отображать в правой части фрейма, заполняя любое лишнее пространство в обоих направлениях. Использовать конфиг() метод для привязки полосы прокрутки к виджету списка, который вы определили ранее. При установке значения параметра yscrollкоманда как my_scrollbar.set он получает текущую позицию полосы прокрутки при взаимодействии с пользователем.
При установке параметра команды как my_list.yview, движение полосы прокрутки связано с функциями вверх и вниз. Таким образом, когда пользователь взаимодействует с полосой прокрутки, представления списка меняются соответствующим образом.
my_scrollbar = полоса прокрутки (my_frame)
my_scrollbar.pack (сторона = ПРАВАЯ, заполнение = ОБА)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (команда = my_list.yview)
Определите виджет ввода, чтобы принимать задачи в качестве входных данных от пользователя. Установите родительское окно, в которое вы хотите его поместить, стиль шрифта, ширину и цвет фона. Организуйте его, добавив отступ 20 в вертикальном направлении.
Определите рамку для организации ваших кнопок. Поместите их в корневое окно и задайте цвет фона. Организуйте кадр с отступом 20 в вертикальном направлении.
my_entry = Вход (корень, шрифт = ("Ариал", 22), ширина=26, бг='#cf9fff')
my_entry.pack (pady=20)
button_frame = Фрейм (корень, bg='#a020f0')
button_frame.pack (pady=20)
Определите функцию, удалить пункт(). Пройти ЯКОРЬ параметр функции удаления, чтобы удалить выбранный элемент из списка.
дефудалить пункт():
my_list.delete (ЯКОРЬ)
Определите функцию, Добавьте предмет(). Использовать получать() функция для извлечения значения, введенного пользователем, в конец списка. Если список пуст, добавленный элемент станет первой записью в списке. После добавления элемента в список необходимо удалить его из виджета ввода. Используйте функцию удаления, чтобы удалить текст, вставленный от начала до конца его длины.
дефДобавьте предмет():
my_list.insert(END, my_entry.get())
my_entry.delete(0, КОНЕЦ)
Определите функцию, cross_off_item(). Использовать item_config() способ изменить цвет шрифта выбранного элемента задачи в списке на бледный цвет, вы вычеркнули элемент. Очистите выделение, которое вы сделали сейчас, от начала до конца его длины.
дефcross_off_item():
my_list.itemconfig(my_list.curselection(), fg="#дедеде")
мой_список.выбор_очистить(0, КОНЕЦ)
Определите функцию, uncross_item(). Аналогично приведенной выше функции, измените цвет выбранной задачи обратно на исходный и полностью снимите выделение.
дефuncross_item():
my_list.itemconfig(my_list.curselection(), fg="# 5c4033")
мой_список.выбор_очистить(0, КОНЕЦ)
Определите функцию, delete_crossed(). Определите переменную счетчика и повторяйте, пока она не станет меньше размера списка. Если цвет шрифта элемента бледный, удалите этот элемент из списка. В противном случае продолжайте итерацию, увеличивая переменную счетчика.
дефdelete_crossed():
количество = 0
пока количество < my_list.size():
если my_list.itemcget (количество, "фг") == "#дедеде":
my_list.delete (my_list.index (количество))
еще:
количество += 1
Определите пять кнопок: удалить, добавить, зачеркнуть, снять зачеркнутое и удалить зачеркнутое. Поместите кнопки в рамку кнопок, которую вы создали ранее. Установите текст, который должна отображать каждая кнопка, функцию, которую она должна запускать при нажатии, цвет фона и стиль шрифта.
delete_button = Кнопка (button_frame, text="Удалить пункт", command=delete_item, bg="# e7305b", шрифт=("ариал", 12, "смелый"))
add_button = Кнопка (button_frame, text="Добавить элемент", command=add_item, bg="# e7305b", шрифт=("ариал", 12, "смелый"))
cross_off_button = Кнопка (button_frame, text=«Вычеркнуть пункт», команда = cross_off_item, bg ="# e7305b", шрифт=("ариал", 12, "смелый"))
uncross_button = Кнопка (button_frame, text=«Отменить перекрестие», command=uncross_item, bg="# e7305b", шрифт=("ариал", 12, "смелый"))
delete_crossed_button = Кнопка (button_frame, text=«Удалить скрещенные», command=delete_crossed, bg="# e7305b", шрифт=("ариал",12, "смелый"))
Организуйте кнопки с помощью диспетчера сетки в одну строку и пять столбцов. Установите отступ 0 в горизонтальном направлении, чтобы выделить некоторое расстояние между кнопками,
delete_button.grid (строка =0, столбец =0)
add_button.grid (строка =0, столбец =1, padx=20)
cross_off_button.grid (строка =0, столбец =2)
uncross_button.grid (строка =0, столбец =3, padx=20)
delete_crossed_button.grid (строка =0, столбец =4)
основной цикл () Функция сообщает Python запустить цикл событий Tkinter и прослушивать события, пока вы не закроете окно.
корень.mainloop()
Соберите весь код вместе и никогда не пропускайте ни одной задачи с помощью этого эффективного приложения списка дел.
Вывод приложения To-Do с использованием Python
При запуске вышеуказанной программы появляется окно, в котором вы можете ввести задачи, которые хотите выполнить. При добавлении задачи и нажатии кнопки Добавить элемент кнопка, задача добавляется на экран.
При выборе любой из задач с помощью мыши/клавиатуры и нажатии кнопки Вычеркнуть элемент кнопка, выбранная задача меняет свой цвет и становится бледной.
При выборе перечеркнутого элемента и нажатии кнопки Uncross Item кнопку, программа возвращает задаче свой первоначальный цвет.
При нажатии на Удалить скрещенные кнопка, программа удаляет вычеркнутую задачу. При выборе любого элемента и нажатии кнопки Удалить пункт кнопку, выбранный элемент удаляется.
Приложения, которые можно создавать с помощью Python для повышения производительности
Вы можете создавать такие приложения, как RescueTime, которые отслеживают, сколько времени пользователь тратит на то или иное приложение. Такие приложения могут помочь вам узнать, какие веб-сайты больше всего вас отвлекают. Кроме того, вы можете черпать вдохновение в Trello для создания досок со списками дел, сроками и напоминаниями.
Музыкальное приложение, которое воспроизводит специально разработанный список воспроизведения, может помочь пользователям сконцентрироваться и сосредоточиться на работе. Вы даже можете автоматизировать программы с графическим интерфейсом для выполнения повторяющихся задач, таких как процессы входа в систему и сценарии для взаимодействия с рабочим столом.