ГДЗ Інформатика 6 клас. Підручник [Бондаренко О.О., Ластовецький В.В., Пилипчук О.П., Шестопалов Є.А.] 2019
17.02.2020,
6 Клас / Інформатика,
37 172,
1
§ 19. Організація діалогу з користувачем
Питання для самоперевірки
1. Поясніть синтаксис створення об’єкта класу Entry.
Компонент Entry — це поле для введення тексту, також його можна використовувати і для виведення. Синтаксис створення об’єкта класу Entry: змінна = Entry(батьківський_віджет, [властивість = значення])
2. Яким атрибутам слід задати значення для налаштування вигляду віджета Entry?
Для налаштування вигляду віджета Entry слід задати значення атрибутів, спільних із віджетами класів Button і Label: text, width, height, bg, fg, font.
3. Опишіть основні методи об’єкта класу Entry.
Розглянемо основні методи елемента Entry.
• Метод get() дозволяє отримати значення, що міститься в текстовому полі. Якщо назвати об’єкт класу Entry іменем entry1, то отримати значення і присвоїти його змінній а цілого типу можна так: a = int(entry1.get())
• Метод insert(index, str) виводить у текстове поле рядок, починаючи зі знакомісця з номером index. Виведемо до поля об’єкта класу Entry значення змінної х: entry1.insert(0, х)
• Метод delete(first, last) вилучає символи, починаючи зі знакомісця з номером first, до знакомісця з номером last (нумерація символів починається із 0). Щоб вилучити весь текст, як другий параметр потрібно указати END. Бажано перед викликом методу insert() записувати виклик методу delete(), тобто перед виведенням очищувати текстове поле.
Очистимо текстове поле перед виведенням: entry1. delete(0, END) entry1.insert(0, 'Молодець!')
Видалимо символи з 7-го по 12-й із текстового поля: from tkinter import* def b1_click(): entry1.delete(7, 12) root = Tk() root.title('видалення') root.geometry('220x100') s = 'Методи класу Entry' entry1 = Entry(root, text = s) entry1.place(x = 20, y = 10) entry1.insert(0, s) b1 = Button(root, text = 'Видалити', command = b1_click) b1.place(x = 20, y = 50) root.mainloop()
Текст у полі об’єкта entry1 змінюється після натискання кнопки Видалити.
Уведемо число до поля об’єкта entry1 і виведемо квадрат цього числа до поля об’єкта entry2 (рис. 19.3). from tkinter import* def b1_click(): a = float(entry1.get()) b = a ** 2 entry2.delete(0, END) entry2.insert(0, str(b)) root = Tk() root.title('Квадрат числа') root.geometry('220x160') laba = Label(root, text = 'a =', font = 'Arial 18') laba.place(x = 10, y = 10) s = '' entry1 = Entry(root, text = s, width = 8, font = 'Arial 18') entry1.place(x = 80, y = 10) labb = Label(root, text = 'a ** 2 =', font = 'Arial 18') labb.place(x = 10, y = 110) entry2 = Entry(root, text = s, width = 8, font = 'Arial 18') entry2.place(x = 80, y = 110) b1 = Button(root, text = 'Обчислити', command = b1_click) b1.place(x = 20, y = 50) root.mainloop()
Вправа 19
Створити програму для обчислення значення виразу. У Python IDLE виберіть команду File → New File.
1) Завантажте модуль tkinter і створіть вікно програми розмірами 250 × 200 із заголовком Розв’язувач.
2) Додайте віджет lab класу Label: lab = Label(root, text = 'Введіть приклад:', font = 'Arial 18') lab.place(x = 20, y = 10) Додайте до вікна два віджети класу Entry. Віджет entry1 призначений для введення прикладу: s = '' entry1 = Entry(root, text = s, width = 16, font = 'Arial 18') entry1.place(x = 20, y = 50) # Розміщення текстового поля у вікні Віджет entry2 призначений для виведення відповіді: entry2 = Entry(root, text = s, width = 16, font = 'Arial 18') entry2.place(x = 20, y = 140) # Розміщення текстового поля у вікні.
3) Додайте до вікна віджет b1 класу Button: b1 = Button(root, text = 'Розв’язати', command = b1_click) b1.place(x = 40, y = 90)
4) Створіть обробник події Натискання на кнопку для об’єкта b1: def b1_click(): vidp = eval(entry1.get()) entry2.delete(0, END) entry2.insert(0, vidp) Для обробки математичного виразу й обчислення результату використовується функція eval(), яка обробляє рядок клавіатурних символів так само, як і оболонка Python IDLE.
5) Збережіть програму з іменем Вправа19.
Якщо помітили в тексті помилку, виділіть її та натисніть Ctrl + Enter