DiscreteMathematics/Lab_1/window_1.py

175 lines
5.9 KiB
Python
Raw Normal View History

2024-03-09 17:44:57 +02:00
from tkinter import *
root = Tk()
root.title("Головний екран")
# Віджети ідентифікації студента
id_frame = Frame(root, bd=5)
id_label = Label(id_frame, text="Ідентифікація")
surname_label = Label(id_frame, text="Прізвище:")
surname_entry = Label(id_frame, text="Швед")
name_label = Label(id_frame, text="Ім'я:")
name_entry = Label(id_frame, text="Андрій")
parental_label = Label(id_frame, text="По-батькові:")
parental_entry = Label(id_frame, text="Дмитрович")
group_number_name = Label(id_frame, text="Номер групи:")
group_number_entry = Label(id_frame, text="23")
student_number_name = Label(id_frame, text="Номер у списку:")
student_number_entry = Label(id_frame, text="30")
variant_label = Label(id_frame, text="Варіант:")
variant_result_label = Label(id_frame, text="24")
# Пакувальники ідентифікації студента
id_frame.grid(row=0, column=0)
id_label.grid(row=0, column=0, columnspan=2)
surname_label.grid(row=1, column=0, sticky=E)
surname_entry.grid(row=1, column=1, sticky=W)
name_label.grid(row=2, column=0, sticky=E)
name_entry.grid(row=2, column=1, sticky=W)
parental_label.grid(row=3, column=0, sticky=E)
parental_entry.grid(row=3, column=1, sticky=W)
group_number_name.grid(row=4, column=0, sticky=E)
group_number_entry.grid(row=4, column=1, sticky=W)
student_number_name.grid(row=5, column=0, sticky=E)
student_number_entry.grid(row=5, column=1, sticky=W)
variant_label.grid(row=6, column=0, sticky=E)
variant_result_label.grid(row=6, column=1, sticky=W)
# Віджети універсальної множини
universal_set_frame = Frame(root, bd=5)
universal_set_label = Label(universal_set_frame, text="Межі універсальної множини")
lowest_label = Label(universal_set_frame, text="Від:")
highest_label = Label(universal_set_frame, text="До:")
lowest_entry = Entry(universal_set_frame, width=20)
highest_entry = Entry(universal_set_frame, width=20)
set_U_button = Button(universal_set_frame, text="Задати універсальну множину")
set_U_label = Label(universal_set_frame, text="Множина U:")
elements_U_label = Label(universal_set_frame)
# Пакувальники універсальної множини
universal_set_frame.grid(row=1, column=0)
universal_set_label.grid(row=0, column=0, columnspan=4)
lowest_label.grid(row=1, column=0)
lowest_entry.grid(row=1, column=1)
highest_label.grid(row=1, column=2)
highest_entry.grid(row=1, column=3)
set_U_button.grid(row=2, column=0, columnspan=4)
set_U_label.grid(row=3, column=0, columnspan=2, sticky=E)
elements_U_label.grid(row=3, column=2, columnspan=2, sticky=W)
# Віджети задання множин
set_declaration_frame = Frame(root, bd=5)
set_declaration_label = Label(set_declaration_frame, text="Задання множин", bd=5)
set_generation_label = Label(set_declaration_frame, text="Випадкова генерація", bd=5)
cardinality_A_label = Label(set_declaration_frame, text="Потужність A:")
cardinality_A_entry = Entry(set_declaration_frame, width=20)
cardinality_B_label = Label(set_declaration_frame, text="Потужність B:")
cardinality_B_entry = Entry(set_declaration_frame, width=20)
cardinality_C_label = Label(set_declaration_frame, text="Потужність C:")
cardinality_C_entry = Entry(set_declaration_frame, width=20)
cardinality_entries = [cardinality_A_entry, cardinality_B_entry, cardinality_C_entry]
set_generation_button = Button(set_declaration_frame, text="Згенерувати множини")
set_manual_label = Label(set_declaration_frame, text="Ручний ввід", bd=5)
manual_A_label = Label(set_declaration_frame, text="Введіть множину A:")
manual_A_entry = Entry(set_declaration_frame, width=40)
manual_B_label = Label(set_declaration_frame, text="Введіть множину B:")
manual_B_entry = Entry(set_declaration_frame, width=40)
manual_C_label = Label(set_declaration_frame, text="Введіть множину C:")
manual_C_entry = Entry(set_declaration_frame, width=40)
set_manual_button = Button(set_declaration_frame, text="Задати введені множини")
manual_entries = [manual_A_entry, manual_B_entry, manual_C_entry]
# Пакувальники задання множин
set_declaration_frame.grid(row=2, column=0)
set_declaration_label.grid(row=0, column=0, columnspan=4)
set_generation_label.grid(row=1, column=0, columnspan=2)
cardinality_A_label.grid(row=2, column=0, sticky=E)
cardinality_A_entry.grid(row=2, column=1)
cardinality_B_label.grid(row=3, column=0, sticky=E)
cardinality_B_entry.grid(row=3, column=1)
cardinality_C_label.grid(row=4, column=0, sticky=E)
cardinality_C_entry.grid(row=4, column=1)
set_generation_button.grid(row=5, column=0, columnspan=2)
set_manual_label.grid(row=1, column=2, columnspan=2)
manual_A_label.grid(row=2, column=2, sticky=E)
manual_A_entry.grid(row=2, column=3)
manual_B_label.grid(row=3, column=2, sticky=E)
manual_B_entry.grid(row=3, column=3)
manual_C_label.grid(row=4, column=2, sticky=E)
manual_C_entry.grid(row=4, column=3)
set_manual_button.grid(row=5, column=2, columnspan=2)
# Віджети множин
sets_frame = Frame(root, bd=5)
set_A_label = Label(sets_frame, text="Множина A:")
elements_A_label = Label(sets_frame)
set_B_label = Label(sets_frame, text="Множина B:")
elements_B_label = Label(sets_frame)
set_C_label = Label(sets_frame, text="Множина C:")
elements_C_label = Label(sets_frame)
set_labels = [elements_A_label, elements_B_label, elements_C_label]
# Пакувальники множин
sets_frame.grid(row=3, column=0)
set_A_label.grid(row=0, column=0, sticky=E)
elements_A_label.grid(row=0, column=1, sticky=W)
set_B_label.grid(row=1, column=0, sticky=E)
elements_B_label.grid(row=1, column=1, sticky=W)
set_C_label.grid(row=2, column=0, sticky=E)
elements_C_label.grid(row=2, column=1, sticky=W)