175 lines
5.9 KiB
Python
175 lines
5.9 KiB
Python
|
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)
|