/
gscati
/
QueueTerminal
Обзор
Документация
Войти
/
gscati
/
QueueTerminal
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ui/main_window.py
43 строки
2 KB
gscati
Queue_Terminal
21 дек 2025, 14:06
21 дек 2025, 14:06
3333376
Код
Авторство
О чём код?
import tkinter as tk from tkinter import messagebox class MainWindow: def __init__(self, queue_manager): self.queue_manager = queue_manager self.root = tk.Tk() self.root.title("Терминал управления очередью") self.root.geometry("350x300") self.selected_service = tk.StringVar(value="A") tk.Label(self.root, text="Выберите услугу:", font=("Arial", 12)).pack(pady=10) tk.Radiobutton(self.root, text="Консультация", variable=self.selected_service, value="A").pack() tk.Radiobutton(self.root, text="Оплата", variable=self.selected_service, value="B").pack() tk.Radiobutton(self.root, text="Регистрация", variable=self.selected_service, value="C").pack() tk.Button(self.root, text="Получить талон", command=self.get_ticket).pack(pady=15) self.ticket_label = tk.Label(self.root, text="Ваш номер: —", font=("Arial", 14)) self.ticket_label.pack(pady=10) tk.Button(self.root, text="Вызвать следующего", command=self.call_next).pack(pady=5) self.current_label = tk.Label(self.root, text="Текущий клиент: —", font=("Arial", 12)) self.current_label.pack(pady=5) def get_ticket(self): service = self.selected_service.get() ticket = self.queue_manager.create_ticket(service) self.ticket_label.config(text=f"Ваш номер: {ticket}") def call_next(self): ticket = self.queue_manager.call_next() if ticket: self.current_label.config(text=f"Текущий клиент: {ticket}") else: messagebox.showinfo("Очередь", "Очередь пуста") def run(self): self.root.mainloop()