Tkinter. GUI. Оживляємо стартовий проєкт "Гвідо ван Россум"

Про матеріал
Дії, події та їх обробники. Застосування методу place(x=, y=) === Стартовий код для учнів може бути таким: Стартовий код із завдання 4.5. для редагування може бути таким: ================ from tkinter import * window = Tk() window.geometry ('100x100') window.title ('ттттттттттттт') window.configure (bg= 'white') lbl1 = Label(text= 'ууууууууууууууууууууууууууууууууу', font = ('Times New Roman' ,15), bg= 'yellow') lbl1.pack() entr1 = Entry(width =5, bg= 'black') entr1.pack() lbl2 = Label(text= 'еее') lbl2.pack() btn1 = Button(text='ккккк') btn1.pack() lbl3 = Label(text= 'ннннн') lbl3.pack() img1 = PhotoImage(file = 'Rossum.png') btn2 = Button(window, image=img1, compound = 'top') btn2.pack() window.mainloop () --------------------------- До Розпорядника файлів завантажити файл
Перегляд файлу

Частина 1. Дії, події та їх обробники

 

image 

 

Зверніть увагу на те, що:

-       всі кнопки прив'язані до зміних  ( ім’я змінної обрано на власний розсуд), які створюють віджет

-       користувацькі функції def name_click() : винесено ДО їх виклику в тілі програми

-       самі функції викликаються в тілі програми через command = name_click

 

 

 

image 

Частина 2 . Приклади реалізації подій та їх обробників

1. Подія зміни кольору вікна при натисканні на кнопку

 

Крок-1. Пишемо користувацьку функцію та розміщуємо її відразу після створення вікна. Крок-2. Викликаємо функцію через command= в описі властивостей віджета.

 

Ось приклад такого фрагмента коду:

 

from tkinter import *

#==========================

window = Tk()

window.geometry('400x400')

window.title('Винахідник Python') window.configure(bg='green') #==========================

 

def red_flame():

    window.configure(bg='red')

#==========================

 

img1 = PhotoImage(file = 'Rossum.png')

btn2 = Button(window,  image=img1, compound='top', command=red_flame) btn2.pack()

#========================== window. mainloop()

#==========================

 

 

2. Подія переходу на вебресурс при натисканні на кнопку

 

Щоб кнопка у Tkinter відкривала сторінку Вікіпедії про Гвідо ван Россума, потрібно використати модуль webbrowser. 

 

Висновок: модуль треба імпортувати відразу після імпорту самого Tkinter

 

Саме модуль webbrowser дозволяє запускати браузер і переходити за потрібним URL.

 

 

 Ось приклад такого фрагмента коду:

 

from tkinter import *

import webbrowser

#========================== window = Tk() window.geometry('400x400') window.title('Винахідник Python') window.configure(bg='green')

#========================== def open_wiki():

   

webbrowser.open('https://uk.wikipedia.org/wiki/%D0%93%D0%B2%D1%96%D0%B4%

D0%BE_%D0%B2%D0%B0%D0%BD_%D0%A0%D0%BE%D1%81%D1%81%D1%83%D0

%BC')

#==========================

btn1 = Button(window,text='Натисни на мене', command=open_wiki) btn1.pack()

#========================== window. mainloop()

#==========================

 

 

 

image 

 

Частина 3 . Пакувальник place(x=, y=)

Метод place(x=, y=)  у Tkinter — це менеджер геометрії, що дозволяє розміщувати віджети за точними координатами.

                       Він використовується для створення інтерфейсів, де важливо точне розташування елементів.

 

 

image

 from tkinter import *

 window = Tk() window.geometry('400x350')

 lab1 = Label(text='Текст у мітці', bg='blue', fg='white', width=20, height=1) lab1.place(x=75, y=20)

 btn_2 = Button(text='Текст на кнопці',bg='yellow', width=12, height=3) btn_2.place(x=270, y=10)

 window.mainloop()

 

 

Ось приклад-2 коду, в якому є 3 кнопки, і кожна з них змінює колір вікна при натисканні на них:

 

image

from tkinter import *

#========================== window = Tk() window.geometry('600x500') window.title('Винахідник Python') window.configure(bg='white')

#==========================

 

def black_flame():

    window.configure(bg='black')

    

def blue_flame():     window.configure(bg='blue')    

    

def red_flame():     window.configure(bg='red')    

        

#==========================

 

img1 = PhotoImage(file = 'Rossum3.png')

btn2 = Button(window,  image=img1, compound='top', command=black_flame) btn2.place(x= 120 , y= 100)

 

 

btn3 = Button(text='СИНІЙ', width=20, command=blue_flame) btn3.place(x= 50 , y= 400)

 

btn4 = Button(text='ЧЕРВОНИЙ', width=20, command=red_flame) btn4.place(x=250 , y=400 )

 

#========================== window. mainloop()

#==========================

 

 

image 

Частина 4 . ПРАКТИЧНА РОБОТА

Завантажити шаблон стартового коду та  додати 2 події на кнопки, а саме:

 

1. При натисканні на кнопку з текстом “Вікно жовте”- змінити колір вікна

2.   При натисканні на кнопку з картинкою - перейти на сторінку Вікіпедії https://uk.wikipedia.org/wiki/%D0%93%D0%B2%D1%96%D0%B4%D0%BE_%D0%B2%D0%B 0%D0%BD_%D0%A0%D0%BE%D1%81%D1%81%D1%83%D0%BC

 

 

СТАРТОВИЙ КОД для модернізації копіюємо ВЛАСНИЙ із попереднього завдання 4.5.

 

3.   Додати ще 2 кнопки з текстами “ Вікно синє” та “Вікно сіре” 

4.   Додати події на ці кнопкина зміну кольорів вікна на відповідні

image

Середня оцінка розробки
Структурованість
5.0
Оригінальність викладу
5.0
Відповідність темі
5.0
Загальна:
5.0
Всього відгуків: 1
Оцінки та відгуки
  1. Константиненко Лариса Георгіївна
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
pdf
Додано
23 квітня
Переглядів
103
Оцінка розробки
5.0 (1 відгук)
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку