На третьому етапі роботи над проектом розробимо форму створення запитань для вчителя. Потрібно передбачити текстові рядки введення питання та 5 варіантів відповідей, позначення правильних та збереження цієї інформації у файл.



Підготовка інтерфейсу

Перше текстове поле - текст питання, повинно міститись у першому рядку та займати 2 стовпці:

pytannya = Entry (root, width=50) 

pytannya.grid(row=0,column=0,columnspan=2)

Наступні 5 рядків містять елементи типу прапорець та текстове поле.

r = 1

for ans in range(5):

    text=Entry(root, width=35)

    text.grid(row=r,column=1)

    CheckVar = IntVar()

    praporets = Checkbutton (root, text = "" , variable = CheckVar, onvalue = 1, offvalue = 0)

    praporets.grid(row=r,column=0)

    r = r + 1

Кнопка розміщується в останньому рядку форми та містить посилання на функцію додавання питання:

knopka=Button(root, text="Додати питання", command=add)

knopka.grid(row=8,column=0,columnspan=2)


Додавання питання у файл

Тема "Файли"

Доцільно створити файл, у який буде відбуватись запис питань тесту на початку роботи програми, після створення основного вікна програми. При кожному клацанні кнопки Додати питання до цього файлу потрібно додавати інформацію: питання, 5 варіантів відповідей, номери правильних відповідей.

Для обробки текстів варіантів відповідей та прапорців доцільно заносити їх у списки при створенні елементів Entry та Checkbutton:

answers=[None]*5

correct=[None]*5

....

    answers[ans]=Entry(root, width=35)

    answers[ans].grid(row=r,column=1)

    correct[ans]=CheckVar

У результаті буде сформовано 2 списки по 5 елементів, до яких можна отримувати доступ із функції Додати питання

Додавши тексти питання та відповідей у файл доцільно очистити текстові поля:

pytannya.delete(0, 'end')


Завдання

Передбачити збереження файлу з питаннями тесту під довільною назвою.

Тема "Меню"

Остання зміна: Середа 10 липня 2024 06:48 AM