Рубрики
Без рубрики

Примеры Python Tkinter: Машина случайных фактов

Привет, ученик! Сегодня мы собираемся создать графическое приложение, машину случайных фактов с использованием Python Tkinter. Давайте начнем!

Автор оригинала: Pankaj Kumar.

Привет, ученик! Сегодня мы собираемся создать графическое приложение, машину случайных фактов с использованием Python Tkinter. Давайте начнем!

О каких фактах мы говорим?

Факты о случайных вещах со всего мира. Это может быть буквально все, что угодно, если утверждение истинно и основано на событии, которое действительно произошло.

Факты ответьте на вопросы “где”, “когда”, “почему” и “как”. Факты всегда подкрепляются доказательствами, вот почему факты всегда истинны.

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

Рекомендуемое чтение: Как построить конвертер Цельсия в Фаренгейт с помощью Tkinter?

Построение машины случайных фактов

Давайте сразу перейдем к шагам по созданию нашей машины случайных фактов с использованием модуля Tkinter в Python .

1. Проектирование интерфейса

Разработка приложения включает в себя следующие шаги:

  1. Создание окна
    • Импорт модуля Tkinter
    • Создайте настраиваемое пустое окно
    • Установите атрибуты изменяемого размера как False, чтобы сохранить размеры неизменными
  2. Добавление Основных Элементов
    • Этикетки
    • Получить факты кнопка
    • Текстовое поле для отображения фактов
    • Кнопка для выхода из приложения

Код для того же самого показан ниже. Вы можете настроить окно в соответствии с вашими собственными предпочтениями.

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()

Выход

Приложение работает отлично, как вы можете убедиться сами на изображении ниже:

Машина случайных фактов в Tkinter
Вывод 2 Машина фактов Машина случайных фактов в Tkinter

Вывод

Поздравляю! Вы успешно создали свою собственную машину фактов. Надеюсь, вам понравилось! Счастливого Обучения!

Спасибо, что прочитали!