β’ Button (ΠΠ½ΠΎΠΏΠΊΠ°) ΠΡΠΎΡΡΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ).
β’ Canvas (Π ΠΈΡΡΠ½ΠΎΠΊ) ΠΡΠ½ΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ².
β’ Checkbutton (Π€Π»Π°ΠΆΠΎΠΊ) ΠΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° Π½Π΅Π΅.
β’ Entry (ΠΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°) ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ°.
β’ Frame (Π Π°ΠΌΠΊΠ°) ΠΠΈΠ΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
β’ Label (ΠΠ°Π΄ΠΏΠΈΡΡ) ΠΠΈΠ΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
β’ Listbox (Π‘ΠΏΠΈΡΠΎΠΊ) ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½Π°Ρ ΡΠ°ΠΌΠΊΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
β’ Menu (ΠΠ΅Π½Ρ) ΠΠ»Π΅ΠΌΠ΅Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ (popup) ΠΈ Π½ΠΈΡΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ (pulldown) ΠΌΠ΅Π½Ρ.
β’ Menubutton (ΠΠ½ΠΎΠΏΠΊΠ°βΠΌΠ΅Π½Ρ) ΠΠ½ΠΎΠΏΠΊΠ° Ρ Π½ΠΈΡΠΏΠ°Π΄Π°ΡΡΠΈΠΌ ΠΌΠ΅Π½Ρ.
β’ Message (Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅) ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π°Π΄ΠΏΠΈΡΠΈ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
β’ Radiobutton (Π‘Π΅Π»Π΅ΠΊΡΠΎΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°) ΠΠ½ΠΎΠΏΠΊΠ° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π² Π³ΡΡΠΏΠΏΠ΅. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Π³ΡΡΠΏΠΏΡ, Π²ΡΠ±ΡΠ°Π½Π½Π°Ρ ΡΠ°Π½Π΅Π΅, Β«ΠΎΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅ΡΒ».
β’ Scale (Π¨ΠΊΠ°Π»Π°) Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
β’ Scrollbar (ΠΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ) ΠΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°Ρ . ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ.
β’ Text (Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ) ΠΡΠΎΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠΈΠ»Π΅ΠΉ, Π²Π½Π΅Π΄ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡ ΡΠΈΡΡΠ½ΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΊΠ½Π°.
β’ Toplevel (ΠΠΊΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ) ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ.
ΠΡΠ΅ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ β ΠΎΠ½ΠΈ ΡΠ°Π²Π½ΠΎΠΏΡΠ°Π²Π½Ρ. ΠΡΠΎΡ Π½Π°Π±ΠΎΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π².
Π‘ΠΎΠ±ΡΡΠΈΡ
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΈ ΠΌΡΡΡΡ, ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π½Π° Β«ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈΒ» ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. Π Tk ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΎΠ±ΡΡΠΈΡ, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΡΠΈΠΏ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ).
Π’ΠΈΠΏ ΡΠΎΠ±ΡΡΠΈΡ Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Activate ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΊΠ½Π° ButtonPress ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ ButtonRelease ΠΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Deactivate ΠΠ΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΠΊΠ½Π° Destroy ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΠΎΠΊΠ½Π° Enter ΠΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π² ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° FocusIn ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° ΠΎΠΊΠ½ΠΎΠΌ FocusOut ΠΠΎΡΠ΅ΡΡ ΡΠΎΠΊΡΡΠ° ΠΎΠΊΠ½ΠΎΠΌ KeyPress ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ KeyRelease ΠΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ Leave ΠΡΡ ΠΎΠ΄ ΠΊΡΡΡΠΎΡΠ° Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Motion ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° MouseWheel ΠΡΠΎΠΊΡΡΡΠΊΠ° ΠΊΠΎΠ»Π΅ΡΠΈΠΊΠ° ΠΌΡΡΠΈ Reparent ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΠΊΠ½Π° Visibility ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΊΠ½Π°ΠΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½ΠΈΠΆΠ΅:
"<ButtonPressβ3>" ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ "<3>" β ΡΠ΅Π»ΡΠΎΠΊ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ (ΡΠΎ Π΅ΡΡΡ, ΡΡΠ΅ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°ΡΡ Π½Π° ΡΡΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΠΌΡΡΠΈ ΡΠ»Π΅Π²Π°βΠ½Π°ΠΏΡΠ°Π²ΠΎ). "<ShiftβDoubleβButtonβ1>" β Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ ΠΌΡΡΡΡ (Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ) Ρ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Shift. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ (ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ):
Control, Shift, Lock,
Button1βButton5 ΠΈΠ»ΠΈ B1βB5,
Meta, Alt, Double, Triple.
ΠΡΠΎΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ β Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«kΒ» β ΡΠΎΠΆΠ΅, ΡΡΠΎ "<KeyPressβk>". ΠΠ»Ρ Π½Π΅Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎβΡΠΈΡΡΠΎΠ²ΡΡ ΠΊΠ»Π°Π²ΠΈΡ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ:
Cancel, BackSpace, Tab, Return, Shift_L, Control_L, Alt_L,
Pause, Caps_Lock, Escape, Prior, Next, End, Home, Left,
Up, Right, Down, Print, Insert, Delete, F1, F2, F3, F4, F5, F6, F7,
F8, F9, F10, F11, F12, Num_Lock, Scroll_Lock, space, less
ΠΠ΄Π΅ΡΡ <space> ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π΅Π», Π° <less> β Π·Π½Π°ΠΊ ΠΌΠ΅Π½ΡΡΠ΅. <Left>, <Right>, <Up>, <Down> β ΡΡΡΠ΅Π»ΠΊΠΈ. <Prior>, <Next> β ΡΡΠΎ PageUp ΠΈ PageDown. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½Π°Π΄ΠΏΠΈΡΡΠΌ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Shift_L, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Shift, Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ ΡΡΠΎβΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΌΠΎΠ³ΡΡ Π½Π΅ Π΄ΠΎΠΉΡΠΈ Π΄ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π²ΡΠ΅ΠΌ CtrlβAltβDel.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠΎΠ±ΡΡΠΈΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ β keysym, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΡΠΎΠ±ΡΡΠΈΡ:
from Tkinter import *
tk = Tk() # ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
txt = Text(tk) # ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΎΠΊΠ½Ρ tk
txt.pack() # ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ pack
# ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ
def event_info(event):
txt.delete("1.0", END) # ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ΅ΠΊΡΡΠ°
for k in dir(event): # ΡΠΈΠΊΠ» ΠΏΠΎ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΡΠΎΠ±ΡΡΠΈΡ
if k[0] != "_": # Π±Π΅ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
# Π³ΠΎΡΠΎΠ²ΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠΎΠ±ΡΡΠΈΡ
ev = "%15s: %s\n" % (k, repr(getattr(event, k)))
txt.insert(END, ev) # Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ΅ΠΊΡΡΠ°
# ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ txt ΡΡΠ½ΠΊΡΠΈΡ event_info Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ,
# ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ <KeyPress>
txt.bind("<KeyPress>", event_info)
tk.mainloop() # Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Esc Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
char: '\x1b'
delta: 9
height: 0
keycode: 9
keysym: 'Escape'
keysym_num: 65307
num: 9
send_event: False
serial: 159
state: 0
time: -1072960858
type: '2'
widget: <Tkinter.Text instance at 0x401e268c>
width: 0
x: 83
x_root: 448
y: 44
y_root: 306
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²:
β’ char ΠΠ°ΠΆΠ°ΡΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» (Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ β ??)
β’ height, width ΠΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π°.
β’ focus ΠΡΠ» Π»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠΊΡΡ Ρ ΠΎΠΊΠ½Π°?
β’ keycode ΠΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° (ΡΠΊΠ°Π½βΠΊΠΎΠ΄ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ).
β’ keysym Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
β’ serial Π‘Π΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ. Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ.
β’ time ΠΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ. ΠΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
β’ widget ΠΠΈΠ΄ΠΆΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅.
β’ x, y ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ.
β’ x_root, y_root ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ.
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π» ΡΠΎΡ ΠΆΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΠ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π½Π° Π΄Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° grab_set() (grab_release() ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΎΡ ΡΡΠΎΠΉ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ). Π Tk ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
Widget([master[, option=value, ...]])
ΠΠ΄Π΅ΡΡ Widget β ΠΊΠ»Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, master β Π²ΠΈΠ΄ΠΆΠ΅ΡβΡ ΠΎΠ·ΡΠΈΠ½, option ΠΈ value β ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΎΠΏΡΠΈΡ ΠΈ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΡΠ°ΠΊΠΈΡ ΠΏΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ).
ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ (ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² config() (ΠΈΠ»ΠΈ configure()) ΠΈ ΡΠΈΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ:
widget.config(option=value, ...)
widget["option"] = value
value = widget["option"]
widget.keys()
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ° Python, ΠΏΡΠΈΠ½ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅. Π’Π°ΠΊ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ class Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ class_, Π° to ΠΊΠ°ΠΊ to_.