Автор оригинала: Pankaj Kumar.
Привет, ученик! Сегодня мы собираемся создать графическое приложение, машину случайных фактов с использованием Python Tkinter. Давайте начнем!
О каких фактах мы говорим?
Факты о случайных вещах со всего мира. Это может быть буквально все, что угодно, если утверждение истинно и основано на событии, которое действительно произошло.
Факты ответьте на вопросы “где”, “когда”, “почему” и “как”. Факты всегда подкрепляются доказательствами, вот почему факты всегда истинны.
Чтение фактов также помогает увеличить свой словарный запас, способности к чтению и, очевидно, свои знания. Это также может помочь снять стресс и беспокойство человека.
Рекомендуемое чтение: Как построить конвертер Цельсия в Фаренгейт с помощью Tkinter?
Построение машины случайных фактов
Давайте сразу перейдем к шагам по созданию нашей машины случайных фактов с использованием модуля Tkinter в Python .
1. Проектирование интерфейса
Разработка приложения включает в себя следующие шаги:
- Создание окна
- Импорт модуля Tkinter
- Создайте настраиваемое пустое окно
- Установите атрибуты изменяемого размера как False, чтобы сохранить размеры неизменными
- Добавление Основных Элементов
- Этикетки
- Получить факты кнопка
- Текстовое поле для отображения фактов
- Кнопка для выхода из приложения
Код для того же самого показан ниже. Вы можете настроить окно в соответствии с вашими собственными предпочтениями.
import tkinter as tk window = tk.Tk() window.geometry("700x250") window.config(bg="#E67E22") window.resizable(width=False,height=False) window.title('FACT MACHINE') l1 = tk.Label(window,text="Welcome to the Fact Machine!",font=("Arial", 25),fg="Black",bg="White") l2= tk.Label(window,text="Click on the 'Get new Fact!' button to get a fact!",font=("Arial", 15,"bold"),fg="darkgreen",bg="#E67E22") btn1 = tk.Button(window,text="Get new Fact!",font=("Arial", 15)) btn2 = tk.Button(window,text="Exit application",font=("Arial", 15)) t1 = tk.Text(window,width=60,height=2,font=("Arial",15),state='disabled',bg="lightgreen") l1.pack() l2.pack() btn1.pack() t1.pack() btn2.pack()
Окончательный созданный дизайн показан ниже.
Добавление функций к кнопкам
Кнопка 1: Кнопка выхода
Чтобы добавить функциональность кнопки выхода, все, что нам нужно сделать, это создать функцию exit
, которая уничтожает окно. А затем добавьте атрибут command
к кнопке и установите для нее функцию выхода.
Код для того же самого показан ниже:
def exit(): window.destroy()
Кнопка 2: Кнопка Получить Факт
Как получить случайные факты при каждом щелчке мыши, мы используем модуль grandfacts в Python. В случае, если модуль не существует, запустите pip install r и facts в командной строке вашей системы.
Чтобы получить новые факты, мы используем функцию getFact
и добавляем параметр как False для случайного забавного факта! После получения факта мы очищаем текстовое поле и добавляем факт в текстовое поле.
После объявления функции атрибут command
добавляется к кнопке get fact и устанавливается как функция get_fact. Код для того же самого показан ниже:
import randfacts def get_fact(): t1.config(state='normal') t1.delete('1.0', tk.END) f = randfacts.getFact(False) t1.insert(tk.END,f) t1.config(state='disabled')
Полный код для машины случайных фактов в Tkinter
Окончательный код для всего приложения приведен ниже:
import randfacts def get_fact(): t1.config(state='normal') t1.delete('1.0', tk.END) f = randfacts.getFact(False) t1.insert(tk.END,f) t1.config(state='disabled') def exit(): window.destroy() import tkinter as tk window = tk.Tk() window.geometry("700x250") window.config(bg="#E67E22") window.resizable(width=False,height=False) window.title('FACT MACHINE') l1 = tk.Label(window,text="Welcome to the Fact Machine!",font=("Arial", 25),fg="Black",bg="White") l2= tk.Label(window,text="Click on the 'Get new Fact!' button to get a fact!",font=("Arial", 15,"bold"),fg="darkgreen",bg="#E67E22") btn1 = tk.Button(window,text="Get new Fact!",font=("Arial", 15),command=get_fact) btn2 = tk.Button(window,text="Exit application",font=("Arial", 15),command=exit) t1 = tk.Text(window,width=60,height=2,font=("Arial",15),state='disabled',bg="lightgreen") l1.pack() l2.pack() btn1.pack() t1.pack() btn2.pack() window.mainloop()
Выход
Приложение работает отлично, как вы можете убедиться сами на изображении ниже:
Вывод
Поздравляю! Вы успешно создали свою собственную машину фактов. Надеюсь, вам понравилось! Счастливого Обучения!
Спасибо, что прочитали!