Π½Π° ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ gui ΠΏΠΎΠ΄ windows
ΠΠ΅ Windows Π΅Π΄ΠΈΠ½ΠΎΠΉ: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ GUI Π½Π° C#
ΠΠ° C# ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΡ ΠΏΠΎΡ β Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΠ‘ ΡΡΠ°Π·Ρ.
ΠΠΎΠΊΠ° Π΅ΡΡΡ Xamarin, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows 10 ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ Linux ΠΈΠ»ΠΈ Mac OS?
Π’ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΎΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΈΡΠ΅Ρ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ³ΡΡ. ΠΠ΅ΡΡΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ²ΠΎΡ ΡΡΡΠ΄ΠΈΡ ΠΈ Π²ΡΠΏΡΡΠΊΠ°ΡΡ Π»Π°ΠΌΠΏΠΎΠ²ΡΠ΅ RPG.
ΠΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΡΠ±ΡΠ°ΡΡ
ΠΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ 2 Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° (ΠΎΠ±Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Skia ):
Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΎΠ±Π°, ΠΈ Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΌΠ½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ: Π² Π½ΡΠΌ Π΅ΡΡΡ ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MVVM, Π±ΡΡΡΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, Π»ΡΠ³ΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ WPF. ΠΠΎΡΡΠΎΠΌΡ Ρ Π²ΡΠ±ΡΠ°Π» Π΅Π³ΠΎ.
ΠΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AvaloniaUI
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅Π±Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
Π Π½ΡΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ AvaloniaUI. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΌΠ΅Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ git, ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΡΠΉΡΠ΅ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ Π»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅:
ΠΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MVVM. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ AvaloniaUI Π½Π°ΠΏΠΈΡΠ°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° Π½ΡΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° AvaloniaUI
Π£ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ°ΠΉΠ» Program.cs Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ AppMain(). Π Π½ΡΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠΊΠ½ΠΎ (MainWindow) Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ DataContext (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ), Π° ΠΏΠΎΡΠΎΠΌ ΡΡΠΎ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ.
Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ MainWindowViewModel(). ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
Π£ Π½Π°Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΡΠΌΠΎ Π² MainWindowViewModel.cs. Π’Π°ΠΌ Π±ΡΠ΄ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ ReactiveUI, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² AvaloniaUI ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° MVVM:
5 ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ GUI Π½Π° C++
C++, ΠΊΠ°ΠΊ ΠΈ Python ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π±Π΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π°ΠΊ Π±ΡΠ»ΠΎ ΠΈ Π΄ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ 80-Ρ , ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ PC ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Windows ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ Apple ΡΡΠ°Π»ΠΈ Π½ΠΎΡΠΌΠΎΠΉ, ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»Π΅Ρ, ΡΡΠΎΠ±Ρ Π½Π°Π²Π΅ΡΡΡΠ°ΡΡ ΡΠΏΡΡΠ΅Π½Π½ΠΎΠ΅.
Π’ΡΠΈΠ΄ΡΠ°ΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π²Π΅ΡΡ Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ Π΄ΠΈΡΠΏΠ»Π΅ΡΡ . Π’Π°ΠΊ Π±ΡΠ»ΠΎ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° 90-Ρ , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘ ΡΠ΅Ρ ΠΏΠΎΡ Mac OS (ΠΈ Π² ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Linux) Π²ΡΡΠΎΡΠ»Π° ΠΏΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Windows, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΈ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ΄
ΠΠ΅Π· ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π±Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°ΡΠΈΡΡΡ Π²Π°Ρ ΠΎΡ ΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΈ ΡΡΡΠ°Π½Π½ΠΎΡΡΠ΅ΠΉ.
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ Windows ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Mac ΠΈΠ»ΠΈ Linux, Π½ΠΎ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. Π ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ GUI, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° C++ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ. ΠΡΡΠ΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Ρ Π²ΡΠ±ΡΠ°Π», ΡΡΠΎ Qt, wxWidgets, JUCE, CEGUI ΠΈ CEF (Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ GTK, MFC ΠΈ Cocoa, Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Ρ).
ΠΡΠΎΡ ΡΡΠ°ΡΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΊΡΡΠ» ΡΠ΅Π±Ρ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ, Qt 5, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅Π·Π΄Π΅, ΠΎΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠ°ΡΡ ΠΎΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ². Qt Π²Π΅ΡΡΠΈΠΈ 5 ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΌΡΡΡΡ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π½Π° X11 ΠΈ Windows. ΠΠ° KDE Linux Qt ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ GUI, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π΄Π»Ρ KDE ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠΎ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Qt.
wxWidgets
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΠΆΡΠ»ΠΈΠ°Π½ Π‘ΠΌΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π» wxWidgets 24 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ (ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΡΠ°ΡΡΠ΅, Π΄Π°ΠΆΠ΅ ΡΠ΅ΠΌ Qt) ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Qt, Ρ ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ΄Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Β«ΡΠΎΠ΄Π½ΡΠΌΠΈΒ»; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Windows, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Windows Π³ΡΠ°ΡΠΈΠΊΡ.
(ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Qt ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, Ρ ΠΎΡΡ ΠΈ ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΠΎΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ.)
ΠΠ°Π½Π½Π°Ρ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΡΠΎ ΠΈ Qt. ΠΠ½Π° ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ Π°ΡΠ΄ΠΈΠΎ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ , Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ Π±ΡΠΈΡΠ°Π½ΡΠΊΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΡΠ»Π΅ΠΌ Π‘ΡΠΎΡΠ΅ΡΠΎΠΌ, Π±ΡΠ»Π° ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Raw Material Software, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π°ΡΠ΄ΠΈΠΎΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, JUCE ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π°ΡΠ΄ΠΈΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΠ΄ΠΈΠΎΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° JUCE ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π³ΡΠ°ΡΠΈΠΊΡ, Π°ΡΠ΄ΠΈΠΎ, ΠΏΠ°ΡΡΠΈΠ½Π³ XML ΠΈ JSON, ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΡ, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ, ΠΈΠΌΠΈΡΠΈΡΡΡΡΠΈΠΌ ECMAScript. ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ. ΠΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΆΠ°ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»ΠΎΠΌΠ°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
JUCE ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ βintrojucerβ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ IDE, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Xcode, ΠΏΡΠΎΠ΅ΠΊΡΡ Visual Studio, Linux Makefile, ΡΠ±ΠΎΡΠΊΠΈ Android Ant ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ CodeBlocks.
CEGUI
Crazy Eddie GUI (GUI ΡΡΠΌΠ°ΡΡΠ΅Π΄ΡΠ΅Π³ΠΎ ΠΠ΄Π΄ΠΈ) ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 2003 Π³ΠΎΠ΄Π°, ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π΅ΡΡΠΈΡ 1.0 Π²ΡΠΉΠ΄Π΅Ρ ΡΠΆΠ΅ ΠΊ 2020 Π³ΠΎΠ΄Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ 0.87. ΠΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows, Linux ΠΈ Mac ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈ 64, ΠΈ 32-Π±ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ GUI Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΎΠ½Π° ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³Ρ, Π½ΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² (ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈ Ρ.Π΄.), ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ³ΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ³Ρ ΡΡΠ΅Π±ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠ΅Π½Ρ ΠΈ ΡΠΊΡΠ°Π½ΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π½Π΄Π΅ΡΡΡΡΡ Π½Π° ΡΠ°ΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΠΊΠ°ΠΊ DirectX ΠΈΠ»ΠΈ OpenGL. ΠΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΊΠΈΠ½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΠΈΠΊΠ΅ ΠΈΠ³ΡΡ.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ CEGUI ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ XML ΡΠ°ΠΉΠ»Ρ. ΠΠ½ΠΈ ΡΠ»ΡΠΆΠ°Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΊΠΈΠ½ΠΎΠ² (ΡΠΎ Π΅ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Ρ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΈ Ρ.Π΄.), Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΈ ΡΡ Π΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ³ΡΡ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° XML.
Chromium Embedded Framework β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Chromium Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ C++ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ 100 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² CEF, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ². CEF ΡΠΆΠ΅ 8 Π»Π΅Ρ, ΠΈ ΠΎΠ½ Π΄ΠΎΡΠΎΡ ΡΠΆΠ΅ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ Chrome ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ JavaScript, ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ GPU ΡΠ΅ΡΠ΅Π· WebGL, ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Ρ Π² Π·Π°ΠΊΠ°Π΄ΡΠΎΠ²ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ, Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ Π²Π²ΠΎΠ΄Ρ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π₯ΠΎΡΡ Π²ΡΠ΅ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° C++, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ. wxWidgets ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΎΡΠΎΡ Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ Qt, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΠ. Qt ΠΊΠ°ΠΆΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ , ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΈΠ·-Π·Π° ΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π½ΡΠ΅ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ wxWidgets, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Qt.
Π Qt, ΠΈ wxWidgets ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΈ ΡΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»ΡΡΠ°ΠΉ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ. ΠΠ±Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΠ΄Π° CEF, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π² Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ Π½ΠΎΠ²ΠΈΡΠΊΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
Python Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΏΠ»ΠΎΡ Π΄Π»Ρ Π²ΡΡΠΊΠΈΡ GUI, ΡΠ°Π±ΠΎΡΠ°Π΅Π΅Ρ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ(Qt,GTK,Kivy), Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°Π³ΡΠ³Π»ΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ΄ Linux(Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄ Π°Π½Π΄ΡΠΎΠ΅Π΄ ΠΌΠΎΠΆΠ½ΠΎ).
ΠΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ C++
Π ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠΈΠ½Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Ρ QBasic`Π° ΠΈ TurboPascal`a, ΠΎΡΠΎΠ±ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΡΠ΄Π° Π΄Π°Π»ΡΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ»ΠΎ: Π‘++. Π Π΅Π°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ GUI Π² Win Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Delphi ΠΈ Π‘++Builder. MFC ΠΎΡ M$ Π±ΡΠ» Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΡΠ²ΡΠΉ (ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ), ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΅Π³ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ, ΡΡΠΎ Ρ Π½Π°ΡΠΈΠ½Π°Π» Ρ Π‘++. ΠΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Π²ΡΠ΅ ΠΆΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π² C#. ΠΠ°ΠΊ Π±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π½Π°ΡΠ°Π² Ρ Π‘#, ΠΊΠ°ΠΊ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ, Π²Π°ΡΠ΅ΠΌΡ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠ²Π°ΡΠΎ Π² ΡΠ΅Π΄ΠΊΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ , Π³Π΄Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Π² Π‘++.
Π‘ΠΎΠ²Π΅Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ: ΠΈΠ·ΡΡΠ°ΠΉΡΠ΅ Π‘# Π΄Π»Ρ GUI, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄Π»Ρ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠΎΠ²ΡΡΡΡΡΡΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ: ΡΠ°ΠΌ Π³Π΄Π΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΠΎΠΌΡ Π½Π° Π‘++ ΠΏΠΈΡΠ°ΡΡ. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π°ΡΠ΄ΡΠΈΠ½ΠΎ Π½Π° Ρ++ ΠΏΠΈΡΠ°ΡΡ: ΠΈ ΠΏΠ°ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΈ ΡΡΠΎΠΈΡ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠ΅ ΡΠΊΠ΅ΡΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Ρ Π‘++ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π Π΅ΡΠ΅ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ: JavaScript, Python, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎΠ± ΠΌΠΎΠ·Π³ΠΈ Π½Π΅ ΠΊΠΎΡΡΠ΅Π½Π΅Π»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅, Π° ΠΌΠΎΠ³Π»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΠΎ.
Python GUI: ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ PyQt ΠΈ Qt Designer
ΠΠ²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ
Python GUI: ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ PyQt ΠΈ Qt Designer
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ²ΠΎΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (GUI) Π½Π° Python. Π Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PyQt Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Qt Designer. Π¨Π°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ Python GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
Π§ΡΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ
ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ PyQt ΠΈ Qt Designer, Π½Ρ ΠΈ Python, ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ PyQt5 Ρ Python 3, Π½ΠΎ ΠΎΡΠΎΠ±ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ PyQt ΠΈ PySide ΠΈΠ»ΠΈ ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π΄Π»Ρ Python 2 Π½Π΅Ρ.
Windows: PyQt ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π·Π΄Π΅ΡΡ. Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ Π½ΠΈΠΌ ΠΈΠ΄ΡΡ Qt Designer.
macOS: ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyQt Ρ ΠΏΠΎΠΌΠΎΡΡΡ Homebrew:
$ brew install pyqt5
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Qt, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Qt Designer, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
Linux: ΠΡΡ Π½ΡΠΆΠ½ΠΎΠ΅, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π΅ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. Qt Designer ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· Π¦Π΅Π½ΡΡΠ° ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ PyQt ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ, ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅Ρ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΠ΄Π΅, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°Π³ΡΠ³Π»ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π²Π΅ΡΡΠΈΠΈ PyQt.
ΠΠΈΠ·Π°ΠΉΠ½
ΠΡΠ½ΠΎΠ²Ρ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π²ΡΡ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½ΡΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.
27β28 Π½ΠΎΡΠ±ΡΡ, ΠΠ½Π»Π°ΠΉΠ½, ΠΠ΅cΠΏΠ»Π°ΡΠ½ΠΎ
ΠΡΠΊΡΠΎΠΉΡΠ΅ Qt Designer, Π³Π΄Π΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ Π½ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Main Window ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠΎΡΠΌΠ° β ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΎΠΊΠ½Π°, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΊΡΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· ΠΎΠΊΠ½Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈ Ρ.Π΄. ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΎΠ½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°ΡΠ΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Ρ.ΠΊ. Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΠΊΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ. Π Π΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ±Π΅ΡΡΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ ΡΡΡΠΎΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ.
ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ ΠΈ ΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° Qt Designer ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Object Inspector. ΠΡ Ρ Π»ΡΠ³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠ»ΠΈΠΊΠ°Ρ ΠΏΠΎ Π½ΠΈΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² ΡΡΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ DEL Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΎΡΠΌΡ List Widget (Π½Π΅ List View) ΠΈ Push Button ΠΈΠ· Widget Box.
ΠΠ°ΠΊΠ΅ΡΡ
ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ. Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Ρ ΠΎΡΠΎΡΠΎ (ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°), Π½ΠΎ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π²ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ΠΈ/ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
ΠΠ°ΠΊΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΎΡΠΌΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΡΠΎΡΠΌΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΡΠ»ΠΎ Π²ΠΎΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΌΠ΅Π½Ρ Qt Designer Π½Π°ΠΆΠΌΠΈΡΠ΅ Form, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Preview ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅Π΅ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡ Π²ΡΡΠ΅. ΠΡΠ³Π»ΡΠ΄ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? ΠΠΎ Π²ΠΎΡ ΡΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°:
ΠΠ°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΡΠ°Π»ΠΈΡΡ Π½Π° ΡΠ΅Ρ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ°Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΎΡΡΠΈ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ. ΠΠΎΡ ΠΏΠΎΡΡΠΎΠΌΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΆΠ½Π° ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ/ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΠ΅ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Π½Π°ΡΡ ΡΠΎΡΠΌΡ. ΠΡΠΎΡΡΠΎ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΠΎ Main Window Π² Object Inspector ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Lay out β Lay out vertically. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΏΡΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² ΡΠΎΡΠΌΠ΅ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΡΠΈΠΈ:
ΠΠ°ΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎ ΠΈ Π΄ΠΎ Π²Π½Π΅ΡΡΠ½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΈΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ, Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² ΠΎΠΊΠ½Π΅ Object Inspector.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΈΡ ΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΡΠΎΠ²Π½Π΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ), β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ ΡΠ΅ΠΊΡΡ.
Π ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π»ΠΈΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΡΠ½ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² β ΡΠΎ, ΠΊ ΡΠ΅ΠΌΡ ΡΡΠΎΠΈΡ ΠΏΡΠΈΠ²ΡΠΊΠ°ΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°.
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Property Editor.
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Qt Designer Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΊΡΡΡΡΠ΅/Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠ°ΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ΡΠ΅Π· ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ View.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ objectName Π½Π° btnBrowse ΠΈ text Π½Π° ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ.
ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ:
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ°ΠΊ design.ui Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ Π² ΠΊΠΎΠ΄
ΠΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΉΠ» design.py Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½
ΠΠ»Ρ Python GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ:
Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠ΄ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΌΡ ΡΠΎΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ:
Π ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°. Π‘ ΡΡΠΈΠΌ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ main() :
Π ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ:
Π ΠΈΡΠΎΠ³Π΅ main.py Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ Ρ ΡΡΠΈΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π² Π½Π°ΡΠ΅ Python GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠ½ΡΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ. ΠΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ Π²ΡΠΎΠ΄Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²ΡΠ±ΠΎΡΠ° ΠΏΠ°ΠΏΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ QtWidgets.QFileDialog.getExistingDirectory :
ΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ os :
Π ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΈΡΠΎΠ³Π΅ ΡΡΠ½ΠΊΡΠΈΡ browse_folder Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ:
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π½Π°ΡΠ΅Π³ΠΎ Python GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
ΠΡΠΎ Π±ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Qt Designer ΠΈ PyQt Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Python GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pyuic5 Π±Π΅Π· ΡΡΡΠ°Ρ Π° ΠΏΠΎΡΠ΅ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GUI
GUI ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ graphical user interface, ΡΡΠΎ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°Π½Π΅ΡΠ΅. Π’ΠΎ Π΅ΡΡΡ Π³ΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ:
Π ΠΏΠ΅ΡΠ΅ΡΠΊΠΎΡΠΈΡΡ ΡΠΎ 2-Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π½Π° 5-ΡΠΉ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΏΡΠΈ Π²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΎ.
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΎΡΠΌΡ (ΠΈΠ»ΠΈ ΠΎΠΊΠ½Π°, ΠΊΠΎΠΌΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ), Π° Ρ Π½ΠΈΠΌΠΈ Π² ΠΏΡΠΈΠ΄Π°ΡΡ, Π²ΡΡΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°, ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠΈ, ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Ρ.ΠΏ.
Π Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΡΠΎ Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Ρ ΠΎΡΡ Π±Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ), ΠΎΠ½ΠΎ ΡΡΡ ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ΠΌΡ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°.
Π―ΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΡΠΈ Π½Π΅ ΠΏΡΠΎΡΡΡΠ΅, Π° ΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π²ΠΈΠ³Π°Π΅ΡΠ΅ ΠΌΡΡΠΊΠΎΠΉ, Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΄Π²ΠΈΠ³ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_MOUSEMOVE, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΡΡΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΊΡΠ΄Π°-ΡΠΎ ΠΊΠ»ΠΈΠΊΠ°Π΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_LBUTTONDOWN. ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ, ΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ WM_KEYDOWN Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΈΠΊΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π° C ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠ΅ ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΌΡ ΠΎΠΊΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΠΌΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ Ρ.Π΄. (ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΡΡΠΎΠ½Π°ΡΠΎΠ΄ΡΠ΅ ΠΊΠΎΠ½ΡΡ`ΠΎΠ»Π°ΠΌΠΈ). ΠΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π ΡΡΠ°ΡΡΡΡ, Π² Π½Π°ΡΠΈ ΡΠ°Π·Π²ΠΈΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π°, Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π½Π°Π΄ΠΎ. Π ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΎΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ: βΠ‘ΡΡΠ΄Π΅Π½ΡΡ ΠΠ²Π°Π½ΠΎΠ² ΠΈ ΠΠ΅ΡΡΠΎΠ² Π·Π° Π²ΡΠ΅ΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠΌΠΌΡ. ΠΡΠΎ ΠΈΠ· Π½ΠΈΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» Π±ΠΎΠ»ΡΡΡΡ ΡΡΠΌΠΌΡ? ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΉ Π·Π°ΡΠ°Π±ΠΎΡΠΎΠΊβ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π€Π°ΠΉΠ»/Π‘ΠΎΠ·Π΄Π°ΡΡ/ΠΡΠΎΠ΅ΠΊΡ, Π·Π°ΡΠ΅ΠΌ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows Forms, ΠΆΠΌΠ΅ΠΌ Ok
ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎΡΠΌΡ:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°
ΠΠ° ΡΠΎΡΠΌΡ Π½Π°Π΄ΠΎ ΡΠ΅Π³ΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ. ΠΠΎ Π·Π°Π΄Π°ΡΠ΅ Ρ Π½Π°Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π·Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°. ΠΡΠΊΡΠΎΠ΅ΠΌ ΠΏΠ°Π½Π΅Π»Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΈΠΏΠΊΠΈ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²Π΄ΡΡΠ³ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ ΠΠΈΠ΄/ΠΠ°Π½Π΅Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΠΎΡΠΌΡ, Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΠΈΠ΄Π° TextBox (ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ°)
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΡΠ΅Π³ΠΎ Π² Π½ΠΈΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° Label)
ΠΠΎ Ρ ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ label1 ΠΈ label2, ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. Π£ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° Label Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Text, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π³ΠΎ Π² Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡ. ΠΡΠ΄Π΅Π»ΠΈΠΌ label1 ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π½Π΅Π³ΠΎ, ΠΎΠ½ ΠΎΠ±Π²Π΅Π΄Π΅ΡΡΡ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ
Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΏΠ°Π½Π΅Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² (Π΅ΡΠ»ΠΈ Π΅Π΅ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ F4). Π‘ΡΠ΅Π΄ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ²ΠΎΠΉΡΡΠ² Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΠΎ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Text ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
ΠΠ°ΠΊΠΎΠ½ΡΠΈΠ² Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° ΡΠΎΡΠΌΡ, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π½Π΅Π΅, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ΠΊΡΡ label1 Π·Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° ΡΡΠ±. Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» ΠΠ΅ΡΡΠΎΠ²
ΠΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ label2
Π Π°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΡΠΌΡ, Π° ΡΠΎ ΡΡΠΎ-ΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°:
ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΆΠ΅ ΡΡΡΠΊΠ° ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΅ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΡΠ΅Π»ΡΠΎΠΊ. ΠΡΠ΄Π΅Π»ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ Π½Π΅ΠΉ Π΄Π²Π° ΡΠ°Π·Π°.
ΠΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΊΠΈΠ½Π΅Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ:
ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅Π»ΡΠΊΠ° ΠΌΡΡΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅. Π ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΡΠ΅Π»ΡΠΎΠΊ.
[ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ]
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ, ΡΠΌΠ΅Π»ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» =)
Π§ΡΠΎ ΠΆΠ΅ ΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ? Π ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠΎ Π΅ΡΡΡ Visual Studio Π·Π° Π½Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π»Π° ΠΊΠΎΠ΄, Π½Π°ΠΌ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΡΡΡΠΊΠ°ΠΌΠΈ ΠΏΠΈΡΠ°ΡΡ) Ρ ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ. Π£ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
ΠΠ°Π»Π΅Π΅ ΡΡΡΠ΄ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π»Π° Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° ΡΠΎΡΠΌΡ Π½Π°ΠΆΠ°Π² Shift+F7), ΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Click Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π‘ΠΎΠ±ΡΡΠΈΠΉ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π΅ΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ, Π°Π²ΡΠΎΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»ΠΈΠΊ Π΄Π»Ρ ΡΠΎΡΠΌΡ Form1.Designer.cs
Π Π΅ΡΠ»ΠΈ ΡΠ°ΡΠΊΡΡΡΡ ΡΠ·Π΅Π» ΠΠΎΠ΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠΈΠ²Π΅Π΄Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°:
Π½ΠΎ Π»Π°Π΄Π½ΠΎ, Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ.
ΠΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
ΠΡΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Ρ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ Π½Π° ΡΠ°ΠΉΠ» Form1.cs Π² ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΡ F7 ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΊΠΎΠ΄Ρ ΡΠΎΡΠΌΡ.
Π ΡΠ°ΠΊ, Ρ Π½Π°Ρ ΡΠ°ΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠΎΠ΄:
ΠΠ°ΠΌ ΠΏΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΠΊΠ° ΠΌΡ Π΅ΡΠ΅ ΡΠ΅ΡΠ°ΡΠ΅Π»Ρ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ (ΡΠΎΡΠ½Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ, Π½ΠΎ Π΅ΡΠ΅ ΡΡΠ΄Π° ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ Π½Π΅ ΠΏΠΎΠ΄ΡΠ΅ΠΏΠΈΠ»ΠΈ). Π Π²ΠΎΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ. ΠΡΠ°Π²ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ:
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ
Π§ΠΈΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· TextBox
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΈ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π²Π΅Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΡΠΏΠ»Π°ΡΡ ΠΠ΅ΡΡΠΎΠ²Π°.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° ΡΠΎΡΠΌΡ, Π½Π°ΠΆΠ°Π² Shift+F7. ΠΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ TextBox Π½Π°Π΄ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ·Π½Π°ΡΡ ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ°Π³Π»ΡΠ½Π΅ΠΌ Π² ΠΏΠ°Π½Π΅Π»Ρ Π‘Π²ΠΎΠΉΡΡΠ², ΠΈ Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΠ°ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ (Name). ΠΡΠΎ ΠΈ Π΅ΡΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΌ ΡΡΠΎΡ textBox1, ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π° ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎΠ΅ (txtPetrovSum):
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Name Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ textBox2. ΠΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π½Π° txtIvanovSum. ΠΠΎ ΠΈΡΠΎΠ³Ρ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΠΊΠΎΠ΄, Π½Π°ΠΆΠΌΠ΅ΠΌ F7, Π»ΠΈΠ±ΠΎ Π΄Π²Π° ΡΠ°Π·Π° ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ:
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ°Π·Ρ:
ΠΠΎΠ±Π°Π²ΠΈΠ² β\nβ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΡ Π² Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ»ΡΡΠΈΡΡΡ:
ΠΠΎ ΡΡΠΎ ΠΌΡ Π²ΡΠ΅ Π² ΠΈΠ³ΡΡΡΠΊΠΈ ΠΈΠ³ΡΠ°Π΅ΠΌΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΊΠΈ ΡΠΆΠ΅ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΡΠΈΠΌ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄
ΠΠ»Ρ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ½Π°ΡΠ°Π»Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΡΠΎΠ³Π΄Π° Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. Π― ΡΡΠΎ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π» Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΎ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Π΅ΡΠ΅ ΠΏΠ°ΡΡ ΡΡΠ°ΡΠ΅ΠΉ Π½Π°Π·Π°Π΄, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π²ΠΎΠ·ΡΠΌΡ ΠΊΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° Logic
ΠΈ Π²ΡΡΠ°Π²Π»Ρ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»Π°ΡΡΠ° Form1 Π² ΡΠ°ΠΉΠ»Π΅ Form1.cs. ΠΠΎΡ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ:
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΠΠΠ‘ΠΠ ΠΊΠ»Π°ΡΡΠ° Form1, ΠΈΠ½Π°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΡΠ°ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΠ½Π΅Π΄ΡΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ
ΠΏΡΠ°Π²ΠΈΠΌ Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ:
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ:
Π! ΠΠ°ΠΌ ΠΆΠ΅ Π΅ΡΠ΅ ΡΡΠ΅Π΄Π½Π΅Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π½Π°Π΄ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ:
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠΎΠΆΠ΅Ρ Π²Ρ ΡΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΡΠΈΠΌ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²Π²Π΅ΡΡΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΅Π΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° int.Parse ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠΈΡΠ»ΠΎ, Π½ΠΎ Π² ΡΡΡΠΎΠΊΠ΅ ΠΏΡΡΡΠΎ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π΅ΡΠ΅Π³ΠΎ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΅ΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ Π±ΡΠΊΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡ.
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ Π±ΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΏΠ°Π΄Π°ΡΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠ½Π° try-catch, ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΏΡΠ°Π²Π΄Π° Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΡΠ³Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ivanovSum ΠΈ petrovSum, ΠΏΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠ° try/catch. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° try, Π½Π°Π΄ΠΎ ΠΈΡ Π²ΡΠ½Π΅ΡΡΠΈ Π²ΠΎΠ²Π½Π΅. ΠΡΠΈΠ΄Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΡΠ²Π½ΠΎ.
ΠΡΠ°ΡΠΎΡΠ°! ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ (Π½ΠΎ Π»ΡΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ):
ΠΡΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ Π²Π°ΡΠΈΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π² Π»Π°Π±Π΅ 4.