🎨 Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³ Π² Python Tkinter | ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Для рисования ΠΊΡ€ΡƒΠ³Π° Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ tkinter, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


from tkinter import Tk, Canvas

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ графичСскоС ΠΎΠΊΠ½ΠΎ
window = Tk()

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ холст
canvas = Canvas(window, width=400, height=400)

# РисуСм ΠΊΡ€ΡƒΠ³
canvas.create_oval(100, 100, 300, 300, fill="red")

# ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ холст
canvas.pack()

# ЗапускаСм основной Ρ†ΠΈΠΊΠ» событий
window.mainloop()
    

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ создаСт ΠΎΠΊΠ½ΠΎ с холстом Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 400x400 пиксСлСй ΠΈ рисуСт ΠΊΡ€ΡƒΠ³ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (100, 100) ΠΈ (300, 300) с красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π·Π°Π»ΠΈΠ²ΠΊΠΈ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³ Π² Python Tkinter?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Tkinter Π² Python. Tkinter являСтся стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для создания графичСского интСрфСйса Π² Python, ΠΈ ΠΎΠ½Π° прСдоставляСт Π½Π°ΠΌ инструмСнты для рисования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΡ€ΡƒΠ³ΠΈ.

Π¨Π°Π³ 1: Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Tkinter

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Tkinter Π² Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


    from tkinter import *
    

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Tkinter.

Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ создадим ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ наш ΠΊΡ€ΡƒΠ³. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс Tk для создания ΠΎΠΊΠ½Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


    root = Tk()
    canvas = Canvas(root, width=300, height=300)
    canvas.pack()
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали экзСмпляр класса Tk ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Canvas для рисования Π½Π° Π½Π΅ΠΌ. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ установили Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ холста Π½Π° 300x300 пиксСлСй ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² ΠΎΠΊΠ½ΠΎ.

Π¨Π°Π³ 3: РисованиС ΠΊΡ€ΡƒΠ³Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΡ€ΡƒΠ³Π° Π½Π° нашСм холстС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ create_oval для этого. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


    # x, y - ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°,
    # Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вписан ΠΊΡ€ΡƒΠ³
    x = 100
    y = 100
    
    # радиус ΠΊΡ€ΡƒΠ³Π°
    radius = 50
    
    # рисуСм ΠΊΡ€ΡƒΠ³ с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° create_oval
    canvas.create_oval(x, y, x+radius, y+radius, fill="red")
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ установили ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (x, y) Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вписан наш ΠΊΡ€ΡƒΠ³. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ радиус ΠΊΡ€ΡƒΠ³Π° ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Ρ†Π²Π΅Ρ‚ ΠΊΡ€ΡƒΠ³Π° (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, красный).

Π¨Π°Π³ 4: Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

НаконСц, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ наш ΠΊΡ€ΡƒΠ³, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ. Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


    root.mainloop()
    

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ запускаСт бСсконСчный Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий Tkinter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ ΠΈ позволяСт Π½Π°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌ.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


    from tkinter import *
    
    root = Tk()
    canvas = Canvas(root, width=300, height=300)
    canvas.pack()
    
    x = 100
    y = 100
    radius = 50
    
    canvas.create_oval(x, y, x+radius, y+radius, fill="red")
    
    root.mainloop()
    

Π£Ρ€Π°! ΠœΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ нарисовали ΠΊΡ€ΡƒΠ³ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Tkinter Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΡ€ΡƒΠ³Π°, Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚ ΠΈ располоТСниС, экспСримСнтируя с значСниями ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ x, y ΠΈ радиуса.

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ ясно. Π£Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ программирования!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π£Ρ€ΠΎΠΊΠΈ Python / ΠœΠΎΠ΄ΡƒΠ»ΡŒ tkinter (рисованиС Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²)

РисованиС Π² tkinter python (ΠΏΠΈΡ‚ΠΎΠ½) | Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ tkinter β„–9

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Tkinter - 15 - Canvas ΠΈ гСомСтричСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

🎨 Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ рисунок Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: пошаговая инструкция Π΄Π°ΠΆΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ числа Π² Python?

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ dataframe Π² json python: руководство с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями

🎨 Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³ Π² Python Tkinter | ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

πŸš€ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½ скрипт Π½Π° сСрвСрС: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ ΠΈ инструкции

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ дискриминант Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? Учимся ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ дискриминант ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅!

πŸ”₯ Как Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ 0 Π² Python ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°