ΠΠ±ΡΠ°Π²Π΅Π½ Π΅ Π΄ΡΠ°Π³ PyGui 1.0.0 (DPG), ΠΊΠΎΠΌΠΏΠ»Π΅Ρ ΡΠΎ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΌΠ΅ΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° GUI Π²ΠΎ Python. ΠΠ°ΡΠ²Π°ΠΆΠ½Π°ΡΠ° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΊΠΈ ΠΈ ΠΈΡΡΡΠ»Π°ΡΠ΅ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π·Π° Π΄Π° ΡΠ΅ Π·Π°Π±ΡΠ·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ΡΠΎ. ΠΠ»ΡΡΠ½Π° ΡΠ΅Π» Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 1.0.0 Π΅ Π΄Π° ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ° API. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π° ΠΊΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΡΠ΅Π³Π° ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΠ½ΡΠ΄Π΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ βΠ΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½β ΠΌΠΎΠ΄ΡΠ».
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, Π³Π»Π°Π²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ DearPyGui Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C++ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Dear ImGui, ΡΠ°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ ΠΈΡΡΠΈΡΠ΅ Π°Π²ΡΠΎΡΠΈ, Π½ΠΎ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ C++ ΠΈ Π½ΡΠ΄Π΅ΡΠ΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π». ΠΠΎΡΠΈΡΡΠ²Π°Π½ ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π½Π° PyGui ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° MIT. ΠΠ΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Linux, Windows 10 ΠΈ macOS ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
ΠΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ ΡΠΎ Π°Π»Π°ΡΠΊΠΈ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° Π±ΡΠ·ΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΈ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ GUI-ΠΈ Π·Π° ΠΈΠ³ΡΠΈ, Π½Π°ΡΡΠ½ΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΎΠ΄Π·ΠΈΠ²Π½ΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌ ΡΠ΅ Π½ΡΠ΄ΠΈ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ API ΠΈ Π·Π±ΠΈΡ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΠΏΡΠΈΡΠ°, Π»ΠΈΠ·Π³Π°ΡΠΈ, ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΈ, ΠΌΠ΅Π½ΠΈΡΠ°, ΡΠ΅ΠΊΡΡΡΠ°Π»Π½ΠΈ ΡΠΎΡΠΌΠΈ, ΠΏΡΠΈΠΊΠ°Π· Π½Π° ΡΠ»ΠΈΠΊΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ. ΠΠ΅ΡΡ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ, Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ ΠΈ ΡΠ°Π±Π΅Π»ΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠ΅ Π·Π±ΠΈΡ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ΡΠ²Π°ΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΡΡΠ΅Π΄ΡΠ²Π°Ρ Π½Π° ΡΠ°Π·Π»ΠΈ, ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅ΠΌΠΈ ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π²ΠΎ ΡΠ»ΠΎΠ±ΠΎΠ΄Π½Π° ΡΠΎΡΠΌΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ 2D ΠΈΠ³ΡΠΈ. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ, ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π°Π»Π°ΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π΄Π΅Π±Π°Π³Π΅Ρ, ΡΡΠ΅Π΄ΡΠ²Π°Ρ Π½Π° ΠΊΠΎΠ΄, ΠΏΡΠ΅Π³Π»Π΅Π΄ΡΠ²Π°Ρ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ΡΠ²Π°Ρ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈ.
ΠΠΎΡΠΈΡΡΠ²Π°Π½ΠΈ PyGui Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π°ΠΏΡΡΡΠ°ΠΊΡΠ½ΠΈΠΎΡ API ΡΠ΅ΠΆΠΈΠΌ (Retained mode) ΡΠΈΠΏΠΈΡΠ΅Π½ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ GUI, Π½ΠΎ ΡΠΎΡ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Dear ImGui, ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ IMGUI (Immediate mode GUI). Π Π΅ΠΆΠΈΠΌΠΎΡ Retained Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠ° Π³ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, Π° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ Immediate, ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π·Π° Π²ΠΈΠ·ΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ, Π° Π³ΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΎΡ ΠΈΠ·Π»Π΅Π·, Ρ.Π΅. Π‘Π΅ΠΊΠΎΡ ΠΏΠ°Ρ ΠΊΠΎΠ³Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΈΠ·Π΄Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΡΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΡΠ»Π΅Π΄Π½Π°ΡΠ° Π·Π°Π²ΡΡΠ΅Π½Π° ΡΠ°ΠΌΠΊΠ°.
DearPyGui Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΈΡΠΎΠ΄Π½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΡΡΠΊΡ Π³ΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ ΡΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ API Π½Π° OpenGL, OpenGL ES, Metal ΠΈ DirectX 11, Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ. Π‘Π΅Π²ΠΊΡΠΏΠ½ΠΎ ΡΠ΅ Π½ΡΠ΄Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 70 Π³ΠΎΡΠΎΠ²ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ.
ΠΠ·Π²ΠΎΡ: opennet.ru