Tkinter python Ρ‡Ρ‚ΠΎ это

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Tkinter

Tkinter python Ρ‡Ρ‚ΠΎ это

ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток!

Tkinter – это кроссплатформСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСского интСрфСйса Π½Π° языкС Python (начиная с Python 3.0 ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² tkinter). Tkinter Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Tk interface, ΠΈ являСтся интСрфСйсом ΠΊ Tcl/Tk.
Tkinter Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² стандартный дистрибутив Python.

Π’Π΅ΡΡŒ ΠΊΠΎΠ΄ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ написан для Python 2.x.
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Tkinter установлСн ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Tkinter _test():

ПослС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ:

Tkinter python Ρ‡Ρ‚ΠΎ это

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ написанию Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… простых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для дСмонстрации основных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Tkinter.

Hello world

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΡƒΠ΄Π° ΠΆΠ΅ Π±Π΅Π· Π½Π΅Π³ΠΎ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, написав

Π”Π°-Π΄Π°, всСго ΠΎΠ΄Π½Π° строка, это Π²Π°ΠΌ Π½Π΅ WinAPI (=. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ тСкст Π² консоль:

Всё просто, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ? Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ экзСмпляр класса Button, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ родитСля ΠΈ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡˆΡ€ΠΈΡ„Ρ‚, Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° Ρ€Π°ΠΌΠΊΠΈ ΠΈ Ρ‚.Π΄.
Π—Π°Ρ‚Π΅ΠΌ привязываСм ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ событиС (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… событий Π² зависимости, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π±Ρ‹Π» Π½Π°ΠΆΠ°Ρ‚ наш btn.
mainloop() запускаСт Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий; ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, нашС ΠΎΠΊΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° внСшниС Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠΈΡ‚Π΅Π»ΠΈ.

Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ

Ѐункция pack() β€” это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ, ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ располоТСния. Он ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½. ВсСго ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Ρ‚Ρ€ΠΈ:

pack(). АвтоматичСски Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅. Π˜ΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ side, fill, expand. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Tkinter python Ρ‡Ρ‚ΠΎ это

grid(). Π Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° сСткС. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: row/column – строка/столбСц Π² сСткС, rowspan/columnspan – сколько строк/столбцов Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Tkinter python Ρ‡Ρ‚ΠΎ это

place(). ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ.
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: x, y, width, height. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Tkinter python Ρ‡Ρ‚ΠΎ это

Π’Π΅ΠΏΠ΅Ρ€ΡŒ для дСмонстрации Π΄Ρ€ΡƒΠ³ΠΈΡ… возмоТностСй Tkinter, напишСм ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ

ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

Π‘Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… слов ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΊΠΎΠ΄:

Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ нСсколько Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ tkFileDialog для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² открытия/закрытия Ρ„Π°ΠΉΠ»Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… просто: Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Open ΠΈΠ»ΠΈ SaveAs, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ filetypes, ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ show(). ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Ρ‘Ρ‚ строку с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто Π·Π°ΠΊΡ€Ρ‹Π» Π΄ΠΈΠ°Π»ΠΎΠ³.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΡ‹ создали Π΄Π²Π° Ρ„Ρ€Π΅ΠΉΠΌΠ°. Π€Ρ€Π΅ΠΉΠΌ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Один содСрТит ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” ΠΏΠΎΠ»Π΅ для Π²Π²ΠΎΠ΄Π° тСкста ΠΈ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
Π­Ρ‚ΠΎ сдСлано, Ρ‡Ρ‚ΠΎΠ±Ρ‹ textbox Π½Π΅ Π½Π°Π»Π΅Π·Π°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ всСгда Π±Ρ‹Π» максимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, появился Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Text. ΠœΡ‹ Π΅Π³ΠΎ создали с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ wrap=’word’, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкст пСрСносился ΠΏΠΎ словам. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Text: get, insert, delete. Get ΠΈ delete ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСксы. ИндСкс β€” это строка Π²ΠΈΠ΄Π° ‘x.y’, Π³Π΄Π΅ x β€” Π½ΠΎΠΌΠ΅Ρ€ символа Π² строкС, Π° y β€” Π½ΠΎΠΌΠ΅Ρ€ строки, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ символы Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ с 1, Π° строки β€” с 0. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° самоС Π½Π°Ρ‡Π°Π»Π° тСкста ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ индСкс ‘1.0’. Для обозначСния ΠΊΠΎΠ½Ρ†Π° тСкста Π΅ΡΡ‚ΡŒ индСкс ‘end’. Π’Π°ΠΊΠΆΠ΅ допустимы конструкции Π²ΠΈΠ΄Π° ‘1.end’.

B Π²-Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹Ρ…, ΠΌΡ‹ создали полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Scrollbar). ПослС создания Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, с textbox. БвязываниС двустороннСС:

Π’ΠΎΡ‚ ΠΈ всё. Tkinter – это, бСзусловно, мощная ΠΈ удобная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠœΡ‹ освСтили Π½Π΅ всС Π΅Ρ‘ возмоТности, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ β€” Ρ‚Π΅ΠΌΠ° Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… статСй.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Python GUI (ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Tkinter)

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

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Tkinter установлСна Π² Python Π² качСствС стандартного модуля, поэтому Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ для Π΅Π³ΠΎ использования. Tkinter β€” ΠΎΡ‡Π΅Π½ΡŒ мощная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Если Π²Ρ‹ ΡƒΠΆΠ΅ установили Python, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IDLE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ IDE, поставляСмой Π² Python, эта IDE написана с использованиСм Tkinter. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ!

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python 3.7 поэтому, Ссли Π²Ρ‹ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python 2.x, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Python 3.x, Ссли Π²Ρ‹ Π½Π΅ Π² курсС нюансов измСнСния языка, с Ρ†Π΅Π»ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ для запуска Π±Π΅Π· ошибок.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΏΠΎ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ.
ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с создания ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля ΠΈ Ρ‚. Π΄. ПослС этого поэкспСримСнтируСм со своими свойствами, поэтому ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π°Ρ‡Π°Ρ‚ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ графичСского интСрфСйса

Для Π½Π°Ρ‡Π°Π»Π°, слСдуСт ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Tkinter ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Label

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ установим ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² ΠΎΠΊΠ½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ grid ΠΈ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

И Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
Tkinter python Ρ‡Ρ‚ΠΎ этоЕсли функция grid Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π°, тСкст Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ.

Настройка Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π° тСкста

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ тСкста ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Π°. Для этого ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ font Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π½ΠΎ стандартноС ΠΎΠΊΠ½ΠΎ слишком ΠΌΠ°Π»ΠΎ. Как насчСт настройки Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π°?

Настройка Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠΊΠ½Π° прилоТСния

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ geometry ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ строкС устанавливаСтся ΠΎΠΊΠ½ΠΎ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 400 пиксСлСй ΠΈ высотой Π΄ΠΎ 250 пиксСлСй.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² GUI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ обрабатываСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Button

НачнСм с добавлСния ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΎΠΊΠ½ΠΎ. Кнопка создаСтся ΠΈ добавляСтся Π² ΠΎΠΊΠ½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°:

Наш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:
Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ столбСц ΠΎΠΊΠ½Π°, Ρ‡Ρ‚ΠΎ Ρ€Π°Π²Π½ΠΎ 1. Если Π²Ρ‹ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈ помСститС ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ столбцС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π²Π΅Π½ 0, ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΡƒ.

ИзмСнСниС Ρ†Π²Π΅Ρ‚Π° тСкста ΠΈ Ρ„ΠΎΠ½Π° Ρƒ Button

Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠ’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ событиС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΅Ρ‰Π΅ Π½Π΅ написано.

Кнопка Click

Для Π½Π°Ρ‡Π°Π»Π°, ΠΌΡ‹ запишСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡƒΠΊΠ°Π·Π°Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ β€‹β€‹Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠ°ΠΊ ΠΈ оТидалось, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠšΡ€ΡƒΡ‚ΠΎ!

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° с использованиСм класса Entry (тСкстовоС ΠΏΠΎΠ»Π΅ Tkinter)

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… GUI Python ΠΌΡ‹ ознакомились со способами добавлСния простых Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ класс Tkinter Entry (тСкстовоС ΠΏΠΎΠ»Π΅ Tkinter).
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовоС ΠΏΠΎΠ»Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса Tkinter Entry ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Если Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ β€” появится тСкст Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Β» вмСстС с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ тСкстом Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ записи. Π’ΠΎΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

ЗапуститС Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎ!

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запускаСм ΠΊΠΎΠ΄, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ фокус Π½Π° Π²Π²ΠΎΠ΄ тСкста, Π½ΠΎ ΠΊΠ°ΠΊ насчСт автоматичСской настройки фокуса?

Установка фокуса Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π²Π²ΠΎΠ΄Π°

Π—Π΄Π΅ΡΡŒ всС ΠΎΡ‡Π΅Π½ΡŒ просто, вСдь всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, β€” это Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ focus :

Когда Π²Ρ‹ запуститС свой ΠΊΠΎΠ΄, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π° Π² фокусС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сразу Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкст.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π°, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свойство состояния:

Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠ’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π½Π΅ смоТСтС ввСсти ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ тСкст.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Combobox

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ списком, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс Combobox ΠΈΠ· ttk ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ свои значСния Π² ΠΏΠΎΠ»Π΅ со списком.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Checkbutton (чСкбокса)

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅Π³ΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ var Π² Checkbutton :

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
Tkinter python Ρ‡Ρ‚ΠΎ это

Установка состояния Checkbutton

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для BooleanVar Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false, Ρ‡Ρ‚ΠΎ Π±Ρ‹ чСкбокс Π½Π΅ Π±Ρ‹Π» ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½.
Π’Π°ΠΊ ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ IntVar вмСсто BooleanVar ΠΈ установитС значСния 0 ΠΈ 1.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Radio Button

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ radio ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс RadioButton :

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ value для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ radio ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:
Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ command любой ΠΈΠ· этих ΠΊΠ½ΠΎΠΏΠΎΠΊ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΎΠ½Π° запустит ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния Radio Button (Π˜Π·Π±Ρ€Π°Π½Π½Π°Ρ Radio Button)

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ radio ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ radio button, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ScrolledText (тСкстовая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Tkinter)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
Tkinter python Ρ‡Ρ‚ΠΎ это

Настройка содСрТимого Scrolledtext

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅/ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° содСрТимого Scrolledtext

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ содСрТимоС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ delete :

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° с сообщСниСм

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Tkinter, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ messagebox ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ! Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ сообщСний ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠšΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, появится ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Показ сообщСний ΠΎ прСдупрСТдСниях ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС ΠΈΠ»ΠΈ сообщСниС ΠΎΠ± ошибкС Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒβ€”ΡΡ‚ΠΎ функция сообщСния.

Показ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сообщСниС β€œΠ΄Π°/нСт”, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ messagebox :

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ сообщСния согласно вашим потрСбностям. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ строку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ showinfo Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΈ запуститС скрипт. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, какая ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Если Π²Ρ‹ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ OK, yes ΠΈΠ»ΠΈ retry, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ станСт True, Π° Ссли Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ no ΠΈΠ»ΠΈ cancel, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ False.
ЕдинствСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, являСтся функция askyesnocancel ; ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True/False/None.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ SpinBox (Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ спинбокс)

Для создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° спинбокса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс Spinbox :

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ:

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эти 3 числа: 3, 8 ΠΈ 11.

Π—Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Spinbox

Π’ случаС, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Spinbox, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ textvariable ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ 36 ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Spinbox.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Progressbar

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс progressbar :

УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ progressbar Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° основС любого процСсса ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

ИзмСнСниС Ρ†Π²Π΅Ρ‚Π° Progressbar

ИзмСнСниС Ρ†Π²Π΅Ρ‚Π° Progressbar Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТно. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ созданный ΡΡ‚ΠΈΠ»ΡŒ Π½Π° Progressbar. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

И Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
Tkinter python Ρ‡Ρ‚ΠΎ это

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ поля Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°

Для добавлСния поля с Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс filedialog :

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ», Π½Π°ΠΆΠΌΠΈΡ‚Π΅ β€œΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒβ€; пСрСмСнная Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ этот ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²:

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ²)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ askdirectory :

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Ρ„Π°ΠΉΠ»Π°, ΡƒΠΊΠ°Π·Π°Π² initialdir ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ мСню

Для добавлСния ΠΏΠ°Π½Π΅Π»ΠΈ мСню, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс menu :

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм мСню, Π·Π°Ρ‚Π΅ΠΌ добавляСм наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ подмСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Π² любоС мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ add_cascade() Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Наш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Tkinter python Ρ‡Ρ‚ΠΎ этоВаким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Tkinter python Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠ’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ добавляСм Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΠ½ΠΊΡ‚ мСню β€œΠ˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒβ€ с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ мСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΡƒΡŽ линию Π² Π½Π°Ρ‡Π°Π»Π΅, Ссли Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° эту строку, ΠΎΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Π² нСбольшом ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅.

МоТно ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ tearoff ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Notebook (Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ)

Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ управлСния Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Tkinter python Ρ‡Ρ‚ΠΎ этоВаким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, сколько Π½ΡƒΠΆΠ½ΠΎ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ

ПослС создания Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ этих Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, Π½Π°Π·Π½Π°Ρ‡ΠΈΠ² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ свойство Π½ΡƒΠΆΠ½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.

Tkinter python Ρ‡Ρ‚ΠΎ это

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅)

ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ padx ΠΈ pady Π»ΡŽΠ±ΠΎΠΌΡƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΡƒΡ€Ρ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Tkinter языка Python

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ посвящСно ΠΌΠ°Π»ΠΎ внимания, ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€ΡƒΠ½Π΅Ρ‚Π΅ курс, ΠΊΠ½ΠΈΠ³Ρƒ ΠΈΠ»ΠΈ FAQ ΠΏΠΎ Π½Π΅ΠΉ довольно-Ρ‚Π°ΠΊΠΈ слоТно. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ здСсь ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основы этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ надСюсь, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ люди дополнят эту ΡΡ‚Π°Ρ‚ΡŒΡŽ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Tkinter?

Π’Π°ΠΊ ΠΊΠ°ΠΊ Tkinter являСтся достаточно ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ интСрфСйсом ΠΊ tcl/tk, Ρ‚ΠΎ основным источником ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для Π½Π΅Ρ‘ ΡΠ²Π»ΡΡŽΡ‚ΡΡ man-страницы tcl/tk. Π­Ρ‚ΠΈ страницы ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² любой Unix-систСмС (Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ n ΠΈΠ»ΠΈ 3tk). Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ доступны ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° сайтС http://tcl.tk. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅:

Начиная с вСрсии python-3.0 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² соотвСтствии с PEP 8 Π² tkinter (с малСнькой Π±ΡƒΠΊΠ²Ρ‹).

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ½Π° ΠΊΠ°ΠΊ ΠΈ любая другая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°:

Класс Tk

Tk являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ классом любого Tkinter прилоТСния. ΠŸΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° этого класса запускаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ tcl/tk ΠΈ создаётся Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния.

Tkinter являСтся событийно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ. Π’ прилоТСниях Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° имССтся Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. Π’ Tkinter Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» запускаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ mainloop. Для явного Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ quit.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ минимальноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Tkinter Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² tcl/tk. Π’Π°ΠΊ ΠΊΠ°ΠΊ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° mainloop дальнСйшиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ python ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ mainloop всСх ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΡ€ΠΎΠΌΠ΅ послСднСго ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска Π΄Π²ΡƒΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²:

ΠŸΡ€ΠΈ использовании Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, использовались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Ρ‘ΠΌ. НапримСр, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, созданноС Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π² этом ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°Ρ…. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² запускС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ. Для создания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв достаточно Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Toplevel.

ΠžΠ±Ρ‰Π΅Π΅ для всСх Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²

ВсС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² Tkinter ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ свойствами. ОпишСм ΠΈΡ…, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ конструктора ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя master) это Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ (ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½) наш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ использовано Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ (font=. ), Ρ†Π²Π΅Ρ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (bg=. ), ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (command=. ) ΠΈ Ρ‚.Π΄. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список всСх Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² man options ΠΈ man-страницС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ man button, см. Ρ€Π°Π·Π΄Π΅Π»Ρ‹ «STANDARD OPTIONS» ΠΈ «WIDGET-SPECIFIC OPTIONS»). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

ΠŸΠ°ΠΌΡΡ‚ΡƒΡ ΠΎ Zen Python (явноС Π»ΡƒΡ‡ΡˆΠ΅ нСявного) ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽ: Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ написан ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Python v 2. Π’ случаС использования Python v 3 ΠΊΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ измСнится. 1. tkinter с малСнькой Π±ΡƒΠΊΠ²Ρ‹. 2. print Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках () ΠΈ Π±Π΅Π· u.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сконфигурированы Π²ΠΎ врСмя создания, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ configure (ΠΈΠ»ΠΈ Π΅Π³ΠΎ синоним config). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки (widget[‘option’] = new_value). ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя, послС ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅:

Π’ этом ΠΊΠΎΠ΄Π΅ функция button_clicked вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ cget являСтся ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ configure. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π—Π΄Π΅ΡΡŒ ΠΊΠ°ΠΊ ΠΈ Π² случаС с configure ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки (value = widget[‘option’]). ΠŸΡ€ΠΈΠΌΠ΅Ρ€, послС ΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ мСняСт Π΅Π³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ:

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ всСх Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° врСмя ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ grid ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ grid_remove:

ИспользованиС grid_remove позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сСмСйства grab_ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ события. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚, Π·Π°Ρ…Π²Π°Ρ‚ΠΈΠ²ΡˆΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ всС события ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ прилоТСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ освобоТдаСт Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· 10 сСкунд:

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сСмСйства focus_ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для управлСния фокусом Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ фокус, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС события с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

«Π‘истСмныС» ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚-спСцифичными, Ρ‚.Π΅. хотя ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° tcl/tk.

after, after_idle ΠΈ after_cancel [3]

Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠ΄Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя.

update ΠΈ update_idletasks [4]

Π”Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ Π·Π°Π΄Π°Ρ‡. Π˜Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

update_idletasks выполняСт Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «Π½Π° ΠΏΠΎΡ‚ΠΎΠΌ», ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ прорисовкС всСх Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², расчёту ΠΈΡ… располоТСния ΠΈ Ρ‚.Π΄. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эта функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ссли Π±Ρ‹Π»ΠΈ внСсСны измСнСния Π² состояниС прилоТСния, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти измСнСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π° экранС Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π΅ доТидаясь Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сцСнария.

update ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π·Π°Π΄Π°Ρ‡ΠΈ, стоящиС Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эта функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСмя «Ρ‚яТёлых» расчётов, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

eval ΠΈ evalfile

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹

Toplevel

Π­Ρ‚ΠΈ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ (root) ΠΎΠΊΠ½Π°.

Π’Π°ΠΊΠΈΠΌ способом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠΊΠ½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…).

Button

Π”Π°Π»Π΅Π΅, Π½Π°ΡˆΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° ΠΎΠΊΠ½Π΅. Для этого, Π² Tkinter ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ( pack(), place(), grid() ). ΠŸΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°Ρ… ΡƒΠ·Π½Π°Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅. Пока, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ нСсколько Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° ΠΎΠΊΠ½Π΅, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ самый простой ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ pack(). Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ mainloop (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€), ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠΊΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создано.

Label

Entry

Listbox

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ русскиС Π±ΡƒΠΊΠ²Ρ‹ Π² строках, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Unicode-строки. Π’ Python 2.x для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ строкой ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ u, Π² Python 3.x этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ трСбуСтся, Ρ‚.ΠΊ. всС строки Π² Π½Π΅ΠΌ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Unicode. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС Ρ„Π°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° (Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ): coding: utf-8. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² стилС тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° emacs:

Π’ Python 3.x ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π² этом случаС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСдполагаСтся utf-8.

Frame

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Frame (Ρ€Π°ΠΌΠΊΠ°) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Бвойство bd ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ края Ρ€Π°ΠΌΠΊΠΈ.

Checkbutton

Radiobutton

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Radiobutton выполняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡΡ…ΠΎΠΆΡƒΡŽ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Checkbutton. Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ Radiobutton ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². РСализация этого Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° нСсколько иная, Ρ‡Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Checkbutton:

Π’ этом Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΆΠ΅ ΠΎΠ΄Π½Π° пСрСмСнная. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½, ΠΎΠ½Π° мСняСт своё Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘Π°ΠΌΠΎΠ΅ интСрСсноС, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, помСняСтся ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. На этом ΠΌΡ‹ ΠΏΡ€Π΅Ρ€Π²Ρ‘ΠΌ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ ΠΊ Π½ΠΈΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ вСрнёмся).

Scale

Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ get(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠ½ΡΡ‚ΡŒ с Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Scale.

Scrollbar

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ «ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ» Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ тСкстовоС ΠΏΠΎΠ»Π΅) ΠΈ часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ИспользованиС этого Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° достаточно Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎ. НСобходимо ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π΅ привязки: command полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ привязываСм ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ xview/yview Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π° xscrollcommand/yscrollcommand Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° привязываСм ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ set полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ

Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ располоТСния) это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ (ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚) Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° ΠΎΠΊΠ½Π΅. Π’ Tkinter Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°: pack, place, grid. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΏΡ€ΠΈ смСшивании Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, скорСС всСго, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎ порядку:

pack() [6]

Π£ΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ pack() являСтся самым ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ (ΠΈ самым нСпрСдсказуСмым). ΠŸΡ€ΠΈ использовании этого ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства side Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ сторонС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΡ‹ΠΊΠ°Ρ‚ΡŒ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ этот ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для размСщСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ (слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ свСрху Π²Π½ΠΈΠ·). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Tkinter python Ρ‡Ρ‚ΠΎ это

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ справа.

Для создания слоТной структуры с использованиСм этого ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Frame, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ этого ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

ΠšΡ€ΠΎΠΌΠ΅ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ.

grid() [8]

Π­Ρ‚ΠΎΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ прСдставляСт собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ячСйками, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½ находится строкС, ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ столбцС. Если Π½ΡƒΠΆΠ½ΠΎ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, сколько ячССк ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ (Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ «Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ» Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π½Π° Ρ‚Ρ€ΠΈ ячСйки). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, тСкстовый Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с двумя полосами ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ:

place() [10]

place прСдставляСт собой простой ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² фиксированном мСстС с фиксированным Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ размСщСния Π² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ «Ρ€Π΅Π·ΠΈΠ½ΠΎΠ²ΠΎΠ³ΠΎ» размСщСния. ΠŸΡ€ΠΈ использовании этого ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. НапримСр:

Π­Ρ‚ΠΎΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊ, Ρ…ΠΎΡ‚ΡŒ ΠΈ каТСтся Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, прСдоставляСт ΠΏΠΎΠ»Π½ΡƒΡŽ свободу Π² Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π½Π° ΠΎΠΊΠ½Π΅.

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° событий

command

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π½Π° дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ с использованиСм ΠΎΠΏΡ†ΠΈΠΈ command. К Ρ‚Π°ΠΊΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌ относятся: Button, Checkbutton, Radiobutton, Spinbox, Scrollbar, Scale. Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ пользовались этим способом:

Π’Π°ΠΊΠΎΠΉ способ являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом привязки.

ΠœΠ΅Ρ‚ΠΎΠ΄ bind[1] привязываСт событиС ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ (Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΈ Ρ‚.Π΄.). bind ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

ΠœΠ΅Ρ‚ΠΎΠ΄ bind Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ привязки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ unbind.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли bind привязан ΠΊ ΠΎΠΊΠ½Ρƒ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Ρ‚ΠΎ Tkinter Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события всСх Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² этого ΠΎΠΊΠ½Π° (см. Ρ‚Π°ΠΊΠΆΠ΅ bind_all Π½ΠΈΠΆΠ΅).

Ѐункция, которая вызываСтся ΠΏΡ€ΠΈ наступлСнии события, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Event, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описано Π½Π°ΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠ΅Π΅ событиС. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Event ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (Π² скобках ΡƒΠΊΠ°Π·Π°Π½Ρ‹ события, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… этот Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ установлСн):

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ названия событий. Π‘Π°ΠΌΡ‹ΠΉ простой случай это символ ASCII. Π’Π°ΠΊ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ события наТатия клавиш Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅:

callback вызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Π° клавиша «z».

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ Π΄Π»ΠΈΠ½Π½Π΅Π΅, Π½ΠΎ позволяСт ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ большС событий. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

НазваниС события Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚ΠΈΠΏ события ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация (Π½ΠΎΠΌΠ΅Ρ€ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ символ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹) Поля Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ дСфисом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (привязываСм ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Ctrl+Shift+q):

(Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ KeyPress ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ).

Π—Π΄Π΅ΡΡŒ пСрСчислСны всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ событий, для самых часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½ΠΎ описаниС. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ см. man bind.

- Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ с Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ клавишСй Alt.

- Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ любой клавиши Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, мСняСм порядок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ привязок Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ:

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

BitmapImage

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

PhotoImage

PhotoImage позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π²Π΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Ρƒ этого класса Π΅ΡΡ‚ΡŒ нСсколько (достаточно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ…) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с изобраТСниями. PhotoImage Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ GIF.

ttk (themed tk) это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ tcl/tk с Π½ΠΎΠ²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π’ ttk ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ для создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚Π΅ΠΌ ΠΈ стилСй оформлСния. Благодаря этому Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ttk выглядят Π±ΠΎΠ»Π΅Π΅ СстСствСнно Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

Начиная с вСрсий python 2.7 ΠΈ 3.1.2 Π² Tkinter Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ttk.

Tkinter python Ρ‡Ρ‚ΠΎ это

Π’ ttk Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² tk: Button, Checkbutton, Entry, Frame, Label, LabelFrame, Menubutton, PanedWindow, Radiobutton, Scale ΠΈ Scrollbar. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ имССтся нСсколько Π½ΠΎΠ²Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²: Combobox, Notebook, Progressbar, Separator, Sizegrip ΠΈ Treeview.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΎΡ‚ старых Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ttk ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ†ΠΈΠΈ для конфигурирования Π΅Π³ΠΎ внСшнСго Π²ΠΈΠ΄Π°. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, количСство STANDARD OPTIONS для старого ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° button. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ внСшнСго Π²ΠΈΠ΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ttk осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅ΠΌΡ‹ ΠΈ стили. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ использованиС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ttk Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌ tk.

Style

Style это класс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со стилями ΠΈ Ρ‚Π΅ΠΌΠ°ΠΌΠΈ. ИмСнно этот класс Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для конфигурирования внСшнСго Π²ΠΈΠ΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса:

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ внСшнСго Π²ΠΈΠ΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ стиля Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "TButton") ΠΈ список ΠΎΠΏΡ†ΠΈΠΉ конфигурирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ внСшнСго Π²ΠΈΠ΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π² зависимости ΠΎΡ‚ ΠΈΡ… состояний (active, pressed, disabled ΠΈ Ρ‚.Π΄.). Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ стиля Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ список ΠΎΠΏΡ†ΠΈΠΉ конфигурирования, Π³Π΄Π΅ ΠΎΠΏΡ†ΠΈΠΈ прСдставлСны Π² Π²ΠΈΠ΄Π΅ списка. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ конфигурирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ layout (схСму) Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ttk состоят ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, ΠΎΠΏΡ†ΠΈΠΉ конфигурирования ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… layouts. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° layout:

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Ρ‚Π΅ΠΌΡ‹.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список элСмСнтов Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΡ‹.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΎΠΏΡ†ΠΈΠΉ (ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ), ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ элСмСнта.

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ. АргумСнты Ρ‚Π΅ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² theme_settings.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список доступных Ρ‚Π΅ΠΌ.

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅.

Combobox

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Combobox ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для отобраТСния списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ измСнСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ вСрсии tk Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Listbox. Π Π°Π·Π½ΠΈΡ†Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Combobox ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ свитку, Π° Listbox Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ всСгда ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ. Π§Ρ‚ΠΎ Π±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Combobox с Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ значСниями Π² Ρ„ΠΎΡ€ΠΌΠ΅, достаточно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Progressbar

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ЗапускаСт бСсконСчный Ρ†ΠΈΠΊΠ» Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π¨Π°Π³ длиною 1 выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя (Π² миллисСкундах).

ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство шагов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *