ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

НаписаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, основаных Π½Π° Qt, Π½Π° языкС Python

Π”ΠΎΠ±Ρ€ΠΎΠ΅ врСмя суток.
НСдавно Ρ€Π΅ΡˆΠΈΠ» ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ язык программирования. Π’Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° python. Написал нСсколько ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… скриптов. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго я Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния с графичСским интСрфСйсом. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ наткнулся Π½Π° этот нСбольшой Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π», ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π»ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄. НадСюсь, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½.

Π­Ρ‚ΠΎ руководство Π½Π°Ρ†Π΅Π»Π΅Π½ΠΎ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ прСдставлСния ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ малСнькиС прилоТСния Π½Π° python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΎΡ‚Π΅ΠΊΡƒ Qt.

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния всСх Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания python, ΠΎΠ΄Π½Π°ΠΊΠΎ, Qt Π·Π½Π°Ρ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ linux Π² этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈ я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Python ΠΈ PyQt. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ python, просто Π½Π°Π±Ρ€Π°Π² Β«pythonΒ» Π² консоли Π² Π²Π²Π΅Π΄ΠΈΡ‚Π΅

Если Π½Π΅ появилось сообщСния ΠΎΠ± ошибкС, Π²Ρ‹ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² этом руководствС ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹ насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ способы Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π±ΠΎΠ»ΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π΅Ρ‰Π΅ΠΉ ΠΎΠ±ΡŠΡΡΠ½Π΅Π½Ρ‹ Ρ‚Π°ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΏΠΎΠΈΠ³Ρ€Π°ΠΉΡ‚Π΅ с Π½ΠΈΠΌΠΈ. Π­Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ.

Hello, world!

Начнём с простого. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ дальшС ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написано Β«Hello, world!Β». ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ.

Около 7 строк ΠΊΠΎΠ΄Π°, ΠΈ это Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ просто ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ.
А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ это выглядит:
ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Кнопка

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ нтСрактивности! ΠœΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ надпись Β«Hello, World!Β» ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ Π΅ΠΉ дСйствиС. Π­Ρ‚ΠΎ Π½Π°Π·Π°Π½Ρ‡Π΅Π½ΠΈΠ΅ называСтся «присоСдинСниСм сигнала», событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ посылаСтся слоту ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π­Ρ‚Π° функция запускаСтся, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎ ΠΈ Π½Π΅ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ. Π§Ρ‚ΠΎΠΆ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм это ΠΏΠΎ-питоновски, Π΄ΠΎΠ±Π°Π²ΠΈΠ² структуру ΠΈ использовав ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠœΡ‹ создадим наш собствСнный класс, наслСдованный ΠΎΡ‚ QApplication ΠΈ помСстим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°ΠΌ Π²Π΅Ρ‰ΠΈ Π² Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ слот, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соТСрТит ΠΊΠΎΠ΄, запускаСмый ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π΅ сигнала.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов – отстой

сдСлаСт класс Π½Π° python, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ смоТСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ПолСзно Π·Π½Π°Ρ‚ΡŒ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ интСрфСйса Π² Qt designer’Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ созданиС GUI, Π½ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ инструмСнт для изучСния Qt. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ выглядит, ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ доступно Π² Qt ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ДокумСнтация API для C++ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° (Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°), ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с PyQt. API ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ ΠΎΡ‡Π΅Π½ΡŒ просто, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ, Π²Ρ‹ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, Ρ‡Ρ‚ΠΎ докумСнтация API для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Π°ΠΌ инструмСнтов. Π’ΠΎ Π²Ρ€Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² KDE Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти qt:[widgetname] Π² ΠΊΠΎΠ½ΠΊΠ²Π΅Ρ€ΠΎΡ€Π΅. Π’.ΠΎ. qt:qbutton ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π²Π°ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ прямо Π½Π° описании qbutton. Π‘Π°ΠΉΡ‚ Trolltech содСрТит Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² этом руководствС созданы с использованиСм Qt 3.3. Π― Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ обновлю руководство ΠΊΠΎΠ³Π΄Π° появится пригодная ΠΊ использованию вСрсия pyQt для Qt 4.

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

Kivy β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ наши Π΄Π½ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Python. Π’ Python Π½Π΅Ρ‚ встроСнных инструмСнтов для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Kivy, PyQt ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Toga ΠΎΡ‚ Beeware.

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

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными элСмСнтами мобильного ΠΌΠΈΡ€Π° Python. Однако, говоря ΠΎ Kivy, нСльзя ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния автоматичСски подстраиваСтся ΠΏΠΎΠ΄ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΈ этом Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ чистый синтаксис Python.

Π’ руководствС Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

Π Π°Π·Π±ΠΎΡ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°ΠΊΠΎΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Для ввСдСния Π² курс Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎΠ± ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП) Π² Python 3.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Kivy Python

Kivy Π±Ρ‹Π» создан Π² 2011 Π³ΠΎΠ΄Ρƒ. Π”Π°Π½Π½Ρ‹ΠΉ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Python Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, Mac, Linux ΠΈ Raspberry Pi. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ стандартному Π²Π²ΠΎΠ΄Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ ΠΌΡ‹ΡˆΡŒ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡ‚Π°Ρ‡. Kivy Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ускорСниС GPU своСй Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ являСтся слСдствиСм использования OpenGL ES2. Π£ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ лицСнзия MIT, поэтому Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно ΠΈ Π²ΠΊΡƒΠΏΠ΅ с коммСрчСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм.

Π’ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Ρ‡Π΅Ρ€Π΅Π· Kivy создаСтся ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс (Natural user Interface), ΠΈΠ»ΠΈ NUI. Π•Π³ΠΎ главная идСя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π»Π΅Π³ΠΊΠΎ ΠΈ быстро ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π±Π΅Π· чтСния инструкций.

Kivy Π½Π΅ задСйствуСт Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты управлСния, ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹. ВсС Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ прилоТСния Kivy Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ внСшний Π²ΠΈΠ΄ вашСго прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ прСимущСством, Ρ‚Π°ΠΊ ΠΈ нСдостатком, всС зависит ΠΎΡ‚ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Установка Kivy

Π£ Kivy Π΅ΡΡ‚ΡŒ мноТСство зависимостСй, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Python. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python venv ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ virtualenv.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ срСда Python создаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

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

ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ Python ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python для Android. НСт, это Π½Π΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΌΠ°Π½ΡƒΠ°Π» для создания скрипта для sl4a, это ΠΌΠ°Π½ΡƒΠ°Π» ΠΏΠΎ созданию ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния с UI, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ apk ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Android Market. Π—Π°ΠΎΠ΄Π½ΠΎ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΡ…Π²Π°Π»ΠΈΡ‚ΡŒΡΡ своим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° google.play, это Π½Π΅ hello world, Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΎΠ², хотя ΠΈ ΡƒΠ·ΠΊΠΎ спСциализированноС.

Начну рассказ ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ с самого прилоТСния ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΡƒ рассказам ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ дСлалось.

isortViewer

МнС ΠΊΠ°ΠΊ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„Ρƒ приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° сортировку ΠΈ ΠΎΡ‚Π±ΠΎΡ€ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. НС всСгда хочСтся ΡΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ Π΅ΡΡ‚ΡŒ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, смартфон ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚, Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° дСсятки Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ raw ΠΈΠ»ΠΈ jpeg Ρ„Π°ΠΉΠ»ΠΎΠ², Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ β€” ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅. ИмСнно поэтому я создал ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ isortManager ΠΈ isortViewer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ сортировкС ΠΈ ΠΎΡ‚Π±ΠΎΡ€Ρƒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ ΠΈ сортировкой Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ я ΠΌΠΎΠ³Ρƒ Π»Π΅ΠΆΠ° Π½Π° пляТС Π΄ΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ скучая Π² ΠΏΡ€ΠΎΠ±ΠΊΠ΅ πŸ™‚

ΠšΠΎΠΏΠΈΠΏΠ°ΡΡ‚ описания ΠΈ ΠΏΠ°Ρ€Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ²:
isortViewer β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΎΠ², которая позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈ быстрой ΠΎΡ‚Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тысячи Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ (raw ΠΈΠ»ΠΈ jpg) с фотосСссий Π½Π° Π²Π°ΡˆΠΈΡ… android смартфонах ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…. ΠŸΡ€ΠΈ этом, Π½Π΅Ρ‚ нСобходимости ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСсятки Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ jpg ΠΈΠ»ΠΈ raw Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° устройство. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ бСсплатной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ isortManager для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, которая сохранит всС Π² ΠΎΠ΄ΠΈΠ½ нСбольшой Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈ запуститС isortManager с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта;
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠΈ с фотографиями. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹: jpg ΠΈ raw (cr2, nef, orf ΠΈ Ρ‚.Π΄.). Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ вас получится нСбольшой Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 150 ΠΌΠ± Π½Π° нСсколько тысяч Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ jpg ΠΈΠ»ΠΈ raw Ρ„ΠΎΡ€ΠΌΠ°Ρ‚);
3. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π° вашС android устройство Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² isortViewer. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Β«Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β», Π° Ρ‚Π°ΠΊ ΠΆΠ΅, ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ ΠΎΡ‚ 1 Π΄ΠΎ 5 Π·Π²Π΅Π·Π΄;
4. ПослС этого, скопируйтС Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ измСнСния Π² isortManager. ΠšΡ€ΠΎΠΌΠ΅ удалСния Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. НапримСр, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ с Β«5 Π·Π²Π΅Π·Π΄Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ Β«ΡˆΠ΅Π΄Π΅Π²Ρ€Ρ‹Β», Π° Β«1 Π·Π²Π΅Π·Π΄Π°Β» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ Β«Ρ…Π»Π°ΠΌΒ».

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ бСсплатно ΠΈ доступно Π½Π° google.play, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΠ½Π΅ΠΉΡ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.

Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ доступны Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС!

Как это дСлалось

Π’Π°ΠΊ ΠΊΠ°ΠΊ python Π»ΡƒΡ‡ΡˆΠΈΠΉ язык программирования Π² ΠΌΠΈΡ€Π΅ ΠΊΡ€ΠΎΠΌΠ΅ python я Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ знаю, Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° python.

isortManager

Π‘ isortManager для PC ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, созданиС GUI сборки ΠΏΠΎΠ΄ windows ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΎΠ±ΠΊΠ°Ρ‚Π°Π½ΠΎ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ просто: с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dcraw Π²Ρ‹Π΄ΠΈΡ€Π°Π΅Ρ‚ jpg ΠΏΡ€Π΅Π²ΡŒΡŽΡˆΠΊΠΈ ΠΈΠ· raw Ρ„Π°ΠΉΠ»ΠΎΠ², рСсайзит ΠΈΠ· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PIL ΠΈ складываСт Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» с достаточно простой структурой. Π‘Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ свой вСсолипСд с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для хранСния Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Β«Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β» ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, zip ΠΈΠ»ΠΈ tar Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ (ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅), Ρ‚Ρ€Π΅Π±ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ всСх Ρ„Π°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ»Ρ‹ просто ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ подряд ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ repr питоновского словаря) Π² ΠΊΠΎΠ½Ρ†Π΅ сохраняСтся смСщСния Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»ΠΎΠ², плюс Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. GUI написано Π½Π° Tkinter (люблю я Π΅Π³ΠΎ Π·Π° быстроту написания ΠΈ Π·Π° ΠΌΠ°Π»Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ сборки), Π²ΠΎΡ‚ собствСнно ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚:

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

И Π΄Π°, всС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π° linux, ΠΈ Π΄Π°ΠΆΠ΅ быстрСС Ρ‡Π΅ΠΌ Π½Π° windows )

isortViewer для android

ВсСго я нашСл Π΄Π²Π° способа Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ python ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° android, это pygame for android ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ kivy.
Pygame β€” Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ, всС UI ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‡Ρ‚ΠΎ отняло Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, поэтому Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ kivy. Π˜Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠΎΡ€ΠΊ для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для windows, linux, MacOS, android ΠΈ iOS. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡ‚Π°Ρ‡, UI рисутСтся Ρ‡Π΅Ρ€Π΅Π· OpenGL, Π·Π½Π°Ρ‡ΠΈΡ‚ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС. Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ установив дСмонстрационноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy Showcase. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ спСцифичных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ±Ρ€ΠΎ ΠΈΠ»ΠΈ аксСлСромСтр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля android.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ linux, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, apk ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этой OS.

Hello World выглядит Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° всСх заявлСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. ΠŸΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² тСстировании прилоТСния Π² эмуляторС. Достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Π½Π° исполнСниС Π² своСй любимой IDE ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экранС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, запуск эмулятора ΠΈ ΠΏΡ€. Если Π²Ρ‹ всС ΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ нСпосрСдствСнно Π½Π° устройствС, просто установитС Kivy Launcher, скопируйтС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ памяти ΠΈ запуститС. Π”Π΅Π±Π°ΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ adb logcat.
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ android, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π½Π° PC, Π½ΠΎ хочСтся Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° android, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ конструкциСй:

Π‘Π±ΠΎΡ€ΠΊΠ° apk достаточно проста ΠΈ описана Π½Π° этой страницС. ПослС сборки Ρ€Π΅Π»ΠΈΠ·Π°, достаточно ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (я использовал этот ΠΌΠ°Π½ΡƒΠ°Π») ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² google play.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ своСй ΡΡ‚Π°Ρ‚ΡŒΠ΅, я расскаТу Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ процСссС написания прилоТСния «с нуля», расТСвывая ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строчку ΠΊΠΎΠ΄Π°.

Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ сразу ΠΏΡ€Π΅ΡΠ΅Ρ‡ΡŒ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Ρ‹ Π½Π° Ρ‚Π΅ΠΌΡƒ «для android Ρ‚ΠΎΠ»ΡŒΠΊΠΎ java, python Π½Π΅ Π½ΡƒΠΆΠ΅Π½Β». Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ», Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ‡Ρ‚ΠΎΠ± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ качСствСнным.
Π‘Ρ„Π΅Ρ€Π° примСнСния kivy ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ. БСйчас Π½Π° ΠΌΠΎΠ΅ΠΌ счСту нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных ΠΏΠΎΠ΄ Π·Π°ΠΊΠ°Π·, Π³Π΄Π΅ python с Ρ„Ρ€Π΅ΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ kivy ΠΏΠΎΠΊΠ°Π·Π°Π» сСбя с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ стороны. НапримСр, Ρ€ΠΎΠ²Π½ΠΎ Π·Π° ΠΎΠ΄ΠΈΠ½ час, Π±Ρ‹Π»ΠΎ написано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, для сСти сСрвисных Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ киоска ΠΈ установлСно Π½Π° Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ китайскиС ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ висят Π² Ρ…ΠΎΠ»Π»Π΅. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Π·Π°ΠΊΠ°Π·Π°, Π΄Π°Π»Π΅Π΅ ΠΏΠΎ WiFi ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ соСдиняСтся с сСрвСром ΠΈ сообщаСт статус Π·Π°ΠΊΠ°Π·Π°.

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

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.

Π”ΠΈΠ·Π°ΠΉΠ½

ΠžΡΠ½ΠΎΠ²Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Ρ‘ΠΌ с простого Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ 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 Π±Π΅Π· страха ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ написанный ΠΊΠΎΠ΄.

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

ОвладСй Python, создавая Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния. Π§Π°ΡΡ‚ΡŒ 1

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Jan 20, 2019 Β· 10 min read

Π’ этой сСрии ΠΈΠ· 10 статСй ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python для написания 10 Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. И Π² процСссС создания этих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ всё Π½ΠΎΠ²Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ инструмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ваши Π½Π°Π²Ρ‹ΠΊΠΈ владСния Python.

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎ Π΅ ΠΌΡ‹ создадим, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ. Π”Π°, я знаю, Ρ‡Ρ‚ΠΎ это просто. Но ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Π² тысячу миль начинаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ шага, поэтому Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ наш ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ? Он Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π²Π΅Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρ‚Π°ΠΊ вСдь словари ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ? ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сдСлал ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ Π² словС, наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС слово, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ β€œΠ²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ это?”. А Ссли слово ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΡ… всС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ это ΡƒΠΆΠ΅ Π½Π΅ каТСтся Ρ‚Π°ΠΊΠΈΠΌ Π»Π΅Π³ΠΊΠΈΠΌ, Π΄Π°? Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ.

К ΠΊΠΎΠ½Ρ†Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ этот ΠΌΡƒΠΆΡ‡ΠΈΠ½Π° Π½Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ послС своСго ΠΏΡ€Ρ‹ΠΆΠΊΠ°. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ наши настроСниС ΠΈ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ. И ΠΈΠΌΠ΅Π½Π½ΠΎ этим ΠΌΡ‹ сСгодня ΠΈ займСмся.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Наряду с ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ написан ΠΊΠΎΠ΄. Чистый ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. Π§Ρ‚ΠΎ ΠΆ, приступим. Π”Π°Π½Π½Ρ‹Π΅ Ρ‚ΡƒΡ‚ прСдставлСны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON. Если Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ»ΠΈΡΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°Ρ€Ρƒ Π°Π±Π·Π°Ρ†Π΅Π² Π²Π½ΠΈΠ·. Однако Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅, ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ знания, я Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Ρƒ. Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Π°ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ JSON. Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΈΡ… Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: ΠΊ 2017 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ 2,500,000,000,000,000,000 (2,5 ΠΊΠ²ΠΈΠ½Ρ‚ΠΈΠ»Π»ΠΈΠΎΠ½Π°) Π±Π°ΠΉΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π”Π°, Π²Ρ‹ Π½Π΅ ошиблись, ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду.

JSON, ΠΈΠ»ΠΈ JavaScript Object Notation β€” ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для чтСния (ΠΊΠ°ΠΊ для людСй, Ρ‚Π°ΠΊ ΠΈ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ структурирования Π΄Π°Π½Π½Ρ‹Ρ…. Он, Π² основном, содСрТит Π΄Π²Π΅ структуры: ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, связанноС с этим ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. НиТС прСдставлСна ΠΏΠ°Ρ€Π° β€œΠΊΠ»ΡŽΡ‡/значСниС”. ΠšΠ»ΡŽΡ‡ β€” это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ β€œabandoned industrial site”, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” β€œSite that cannot be used for any purpose, being contaminated by pollutants”, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этого выраТСния.

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, создадим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π±Ρ€Π°Ρ‚ΡŒ слово ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² этих Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ просто.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π¨Π°Π³ 2β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ слова

ИспользованиС простого элСмСнта if-else ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ слова. Если Ρ‚Π°ΠΊΠΎΠ³ΠΎ слова Π½Π΅Ρ‚ Π² Π΄Π°Π½Π½Ρ‹Ρ…, просто Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом. Π’ нашСм случаС, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст β€œThe word doesn’t exist, please double check it.” (β€œΠ’Π°ΠΊΠΎΠ³ΠΎ слова Π½Π΅ сущСствуСт, поТалуйста, ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅β€)

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π¨Π°Π³ 3 β€” Π§ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ рСгистру

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ слова ΠΏΠΎ-своСму. Одни Π½Π°ΠΏΠΈΡˆΡƒΡ‚ слово Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ слово с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. Нам Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· этих Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ. НапримСр, ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ β€œRain” ΠΈ β€œrain” Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого, ΠΌΡ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ слово, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π² Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ наши Π΄Π°Π½Π½Ρ‹Π΅ записаны Ρ‚Π°ΠΊ ΠΆΠ΅. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python lower().

УсловиС 1 β€” Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ ( Delhi, Texas), ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ Π² условии else-if.

УсловиС 2 β€” Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сокращСний (USA, NATO), ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’Π°Ρˆ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΉΠ΄Π΅ΠΌ Ρ‡ΡƒΡ‚ΡŒ дальшС. НС ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ ΠΊΡ€ΡƒΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ Google ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ слова, Ссли Π²Ρ‹ допустили ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ Π² поисковой строкС?

Π§Ρ‚ΠΎ, Ссли смоТСм ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС Π² нашСм словарС? Π—Π΄ΠΎΡ€ΠΎΠ²ΠΎ, ΠΏΡ€Π°Π²Π΄Π°? ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ этому Π² Π¨Π°Π³Π΅ 5, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² Π¨Π°Π³Π΅ 4 разбСрСмся ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эта функция.

Π¨Π°Π³ 4 β€” Π‘Π°ΠΌΠΎΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ соотвСтствиС

Если ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ слова ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ допустил ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС слово ΠΈ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, Π½Π΅ это Π»ΠΈ слово имСлось Π² Π²ΠΈΠ΄Ρƒ. Π’ΡƒΡ‚ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python difflib. Π•ΡΡ‚ΡŒ Π΄Π²Π° способа Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠ±Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивный.

Бпособ 1 β€” Sequence Matcher

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ. Для Π½Π°Ρ‡Π°Π»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ· Π½Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ SequenceMatcher() Π½ΡƒΠΆΠ½Ρ‹ 3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” β€œJunk”, ΠΎΠ½ провСряСт Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… строк, Π² нашСм случаС ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ β€œNone”. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ β€” слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ сравниваСтС. И добавлСнная функция ratio выдаст Π²Π°ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π²ΠΈΠ΄Π΅ числа.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, сходство ΠΌΠ΅ΠΆΠ΄Ρƒ словами β€œrainn” ΠΈ β€œrain” β€” 0,89, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 89%. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ способ. Однако Π² этой ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ другая функция, которая сразу Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС слово, Π±Π΅Π· всяких чисСл.

Бпособ 2 β€” Get Close Matches

Π­Ρ‚Π° функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” слово, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ самоС Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ соотвСтствиС. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” список слов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ это слово Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ. Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт, сколько совпадСний Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅. И послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” cutoff. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ способС ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ число, 0,89? Cutoff ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число, ΠΊΠ°ΠΊ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ слово подходящим (0.99 β€” наибольшСС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для самого подходящСго слова). Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

НС Π½ΡƒΠΆΠ½ΠΎ ΠΆΠ΅ ΠΏΠΎΡΡΠ½ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΡ€Π°Π²Π΄Π°? НаиболСС подходящСС слово ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… β€” β€œrainy”, Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚. Если Π²Ρ‹ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ этого этапа, ΠΌΠΎΠ»ΠΎΠ΄Ρ†Ρ‹, слоТная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ·Π°Π΄ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ просто Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это Π² ваш ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π¨Π°Π³ 5 β€” Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ это?

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° с if-else. Π’Ρ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° выраТСния else-if, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ подходящих соотвСтствий, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ вывСсти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρƒ слова Π΅ΡΡ‚ΡŒ соотвСтствия. Ѐункция get close matches Π±Π΅Ρ€Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ слово Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ сравниваСт с Π½ΠΈΠΌ всС Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π½Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Π΅. Как ΠΌΡ‹ поняли Ρ€Π°Π½Π΅Π΅, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ слова ΠΈΠ· Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ β€” ΠΈΡ… опрСдСлСния. [0] Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΈΠ· всСх соотвСтствий.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π”Π°, Π΄Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ это я ΠΈ ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ. А Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ? НСльзя просто Ρ‚Π°ΠΊ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот вопрос. Если это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ ΠΈΠΌΠ΅Π» Π²Π²ΠΈΠ΄Ρƒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого слова. Π­Ρ‚ΠΈΠΌ ΠΌΡ‹ ΠΈ займСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС.

Π¨Π°Π³ 6 β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ значСния

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if-else, ΠΈ всё. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ слова.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π¨Π°Π³ 7 β€”Π’ΠΈΡˆΠ΅Π½ΠΊΠ° Π½Π° Ρ‚ΠΎΡ€Ρ‚Π΅

Π”Π°, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова β€œrain”, Π½ΠΎ вмСстС с Π½ΠΈΠΌ выводятся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈ всё ΠΏΡ€ΠΎΡ‡Π΅Π΅. Выглядит Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ красиво. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ±Π΅Ρ€Π΅ΠΌ всё лишнСС, ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π΄ΠΈΠΌ этому Π±ΠΎΠ»Π΅Π΅ чистый Π²ΠΈΠ΄. Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ слова β€œrain” нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ? Π•ΡΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… слов, поэтому для Π½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, ΠΏΠΎΠΊΠ° Π½Π΅ выдаст всС значСния, Π° для ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… слов ΠΎΠ½Π° просто Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ красивСС, ΠΏΡ€Π°Π²Π΄Π°? НиТС ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡŽ вСсь ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ Π²Π°ΠΌ вздумаСтся.

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

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

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