|
|
@@ -2,37 +2,69 @@
|
|
|
import tkinter
|
|
|
from tkinter import ttk
|
|
|
|
|
|
+def click_checkbox():
|
|
|
+ # получение текста из текстового поля
|
|
|
+ if check_var.get() == 1:
|
|
|
+ chk["text"] = "Задача 2.1"
|
|
|
+ else:
|
|
|
+ chk["text"] = "Задача 2.7"
|
|
|
+
|
|
|
def click_button():
|
|
|
# получение текста из текстового поля
|
|
|
input_str = entry.get()
|
|
|
# преобразуем в число
|
|
|
x = float(input_str)
|
|
|
|
|
|
- # 2.1 вычисления значения функции y = 17x2 – 6x + 13при любом значении x;
|
|
|
- p = 17 * x**2 - 6 * x + 13
|
|
|
+ if check_var.get() == 1:
|
|
|
+ # 2.1 вычисления значения функции y = 17x2 – 6x + 13 при любом значении x;
|
|
|
+ p = 17 * x**2 - 6 * x + 13
|
|
|
+ label_res["text"] = f"Функция y = 17x^2 – 6x + 13 = {p}"
|
|
|
+
|
|
|
+ else:
|
|
|
+ # 2.7 Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.
|
|
|
+ V = x**3
|
|
|
|
|
|
- # 2.7 Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.
|
|
|
- V = x**3
|
|
|
+ S = 6*x**2
|
|
|
|
|
|
- S = 6*x**2
|
|
|
+ label_res["text"] = f"Объем: {V} м3, площадь {S} м2"
|
|
|
+
|
|
|
+ print("Кнопка нажата")
|
|
|
|
|
|
- btn["text"] = f"Объем: {V} м3, площадь {S} м2"
|
|
|
|
|
|
|
|
|
# 2. Cоздание окна root
|
|
|
root = tkinter.Tk()
|
|
|
+
|
|
|
# 2.1 Настройки окна (необязательно)
|
|
|
root.title("Задача №2.4")
|
|
|
-root.geometry("300x200")
|
|
|
+root.geometry("500x200")
|
|
|
|
|
|
# создание текстовое поле
|
|
|
entry = tkinter.Entry()
|
|
|
# размещение на окне
|
|
|
entry.pack(padx=0, pady=10)
|
|
|
|
|
|
+# CheckBox
|
|
|
+# создание переменной для хранения состояния чекбокса
|
|
|
+check_var = tkinter.IntVar()
|
|
|
+
|
|
|
+# создаем чекбокс
|
|
|
+chk = tkinter.Checkbutton(root, text="Задача 2.1", variable=check_var, command=click_checkbox)
|
|
|
+# размещаем в окне
|
|
|
+chk.pack()
|
|
|
+
|
|
|
+
|
|
|
# кнопка
|
|
|
-btn = ttk.Button(text="Не нажимай меня никогда!!!", command=click_button)
|
|
|
+btn = ttk.Button(text="Пожалуйста нажми!", command=click_button)
|
|
|
# размещение на окне
|
|
|
btn.pack(pady=10)
|
|
|
+
|
|
|
+
|
|
|
+# Создание метки
|
|
|
+label_res = tkinter.Label(text="Результат")
|
|
|
+# размещаем метку в окне
|
|
|
+label_res.pack(pady=10)
|
|
|
+
|
|
|
+
|
|
|
# 3. запуск окна
|
|
|
root.mainloop()
|