Module pay_calculator.main
Запускной файл проекта.
Модуль отвечает за инициализацию графического интерфейса пользователя (GUI) с использованием библиотеки Tkinter и связывание интерфейса с логикой расчета из модуля calc.
Functions
def main()-
Expand source code
def main(): """Функция запуска проекта и рендеринга GUI. Создает главное окно приложения, размещает элементы управления (поля ввода, метки, кнопки) и определяет обработчики событий для расчета скидки и выхода из приложения. The GUI includes: - Поле ввода для суммы покупки. - Поле ввода для процента скидки. - Метку для отображения результата. - Кнопку "Посчитать скидку". - Кнопку "Выход". """ root = tk.Tk() root.title("СкидкаКалькулятор v1") root.geometry("400x300") tk.Label(root, text="Сумма покупки: ").pack(pady=5) amount_entry = tk.Entry(root) amount_entry.pack(pady=5) tk.Label(root, text="Процент скидки: ").pack(pady=5) discount_entry = tk.Entry(root) discount_entry.pack(pady=5) result_label = tk.Label(root, text="Результат: ", fg="blue") result_label.pack(pady=10) def calc_and_show(): """Обработчик нажатия кнопки расчета. Считывает данные из полей ввода, валидирует их и вызывает функцию расчета скидки. Результат отображается в метке. В случае ошибки ввода показывает сообщение об ошибке. """ try: amt = float(amount_entry.get()) dsc = float(discount_entry.get()) if amt < 0 or dsc < 0 or dsc > 100: messagebox.showerror("Ошибка ", "Некорректные данные! ") return res = calculate_discount(amt, dsc) result_label.config(text=f"Результат: {res:.2f} руб. ") except ValueError: messagebox.showerror("Ошибка ", "Вводите числа! ") calc_btn = tk.Button(root, text="Посчитать скидку ", command=calc_and_show) calc_btn.pack(pady=10) exit_btn = tk.Button(root, text="Выход ", command=sys.exit) exit_btn.pack(pady=5) root.mainloop()Функция запуска проекта и рендеринга GUI.
Создает главное окно приложения, размещает элементы управления (поля ввода, метки, кнопки) и определяет обработчики событий для расчета скидки и выхода из приложения.
The GUI includes: - Поле ввода для суммы покупки. - Поле ввода для процента скидки. - Метку для отображения результата. - Кнопку "Посчитать скидку". - Кнопку "Выход".