Для створення програми з графічним інтерфейсом (GUI) на мові програмування Python часто використовується бібліотека tkinter, яка є стандартним інструментом для створення GUI в Python.
Наприклад, розглянемо завдання, в якому потрібно створити програму, що відображає вікно з полем вводу і полем виводу, де користувач може ввести число, а програма множить його на 2 і виводить результат на екран кожну секунду.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import time import tkinter as tk from tkinter import * master = tk.Tk() int1 = 2 # початкове значення для поля вводу abc = tk.IntVar(master, value=int1) out = abc.get() mylabel = tk.Label(master, text=out) mylabel.pack() master.mainloop() while int1 <= 100: time.sleep(1) int1 += 2 print(int1) # спроба інтеграції цього блоку в код вище не була успішною |
У вищенаведеному коді ми використовуємо бібліотеку tkinter для створення графічного інтерфейсу. Ми створюємо вікно за допомогою функції tk.Tk()
, встановлюємо початкове значення int1
, яке користувач може змінити у полі вводу. Далі ми створюємо мітку (Label
), яка відображає значення int1
.
Проте, спроба інтеграції циклу, який множить int1
на 2 і виводить результат кожну секунду, у головний цикл програми не була успішною. Це через те, що головний цикл master.mainloop()
блокує подальше виконання програми до закриття вікна користувачем.
Для вирішення цієї проблеми можна використати механізми обробки подій в tkinter або розглянути альтернативні шляхи реалізації програми з використанням інших бібліотек або фреймворків.