ПредишенСледващото

В тази статия ще разгледаме още една библиотека за създаване на GUI-приложения в Python - wxPython и се обръщат към две свързани въпроси: работа с 2D графика, като използвате Pygame библиотеки и автоматизиране на GUI-приложение, използващо PyZenity сценарии.

проект wxPython идва от най-известните wxWidgets проекта. В основата wxWidgets GUI-библиотека се осъществява в C ++ език и се състои от набор проект C ++ класове богат на функции (структури от данни от високо ниво и т.н.). А wxPython, от своя страна, предлага "обвивка" за wxWidgets класове, свързани с графичния интерфейс.

Забележка. Графичен система wxWidgets декларира, само на няколко нива горната платформа API, както се използва за директно показване на ниско ниво (роден) API за определена платформа. Основната задача на библиотеката - е да се гарантира изпълнението на приложения, написани с негова помощ, на различни операционни системи. Ето защо, успоредно с това, има няколко различни приложения на wxWidgets: wxGTK, wxMSW, wxMac т.н. WxWidgets - тя е по-високо ниво на абстракция от графичните основи, на които тя е изградена.

wxWidgets библиотека не е толкова популярна в Linux, като GTK + или Ot, защото всичко, което трябва да се използва wxPython трябва да се инсталира отделно:

Достатъчно е да инсталирате пакет питон-wxgtk2. и всички останали пакети го инсталира на собствената си:

Обява 1 показва просто приложение, което използва wxPython (bare.py python_gui.tgz файл от архива в "Downloads"):

Списъка 1. wxPython-приложения

Този пример създава празен прозорец GUI-приложение, което е под контрола на Linux мениджър на прозорци може да се движи, преоразмеряване, минимизиране и максимизиране на цял екран:

Тънкостите на използване питон език част 10

Тънкостите на използване питон език част 10

Обява 2 показва един по-wxPython-приложение, което използва API възможностите wxPython в Python класове терминология. Това приложение ви позволява да от Python-код за пренасочване на реки и SYSOUT SYSERR създадени в един прозорец (например wxPython може да бъде намерен в съответните учебници в "ресурси" раздел):

Обява 2. Пренасочване на изходен поток (файл sysout.py)

Стартирайте приложението и да видим какви съобщения са изпратени в прозореца за печат на заявлението, и какво - да постави началото на терминал:

Фигура 2 показва пример на заявката:

Тънкостите на използване питон език част 10

Тънкостите на използване питон език част 10

Има мнения, че изпълнението wxPython да се превърне в стандарт GUI-библиотека за Python, ако това положение не е вече заето Tkinter. Въпреки WxPython използва от много проекти с отворен код.

За разлика от по-ранните библиотеки, Pygame - инструмент за прилагане на различни стратегии за игра в рамките на графични прозорците. Ето защо, в допълнение към инструментите за показване на графичния потребителски интерфейс, той съдържа и някои от инструментите за съставяне на тези прозорци, да създавате анимации и ограничена възможност за възпроизвеждане на аудио потоци.

Този пакет не се отнася за стандартна библиотека модули Python, така че ще трябва да се инсталира отделно.

Забележка. Поради горните разширения функционалност, инсталиране на пакета ще доведе до бъдещо изграждане на голям брой зависими пакети: PulseAudio-esound-COMPAT. OSS-COMPAT. libsmpeg т.н. Но това е поведението по подразбиране за всички GUI инструменти, защото те използват много допълнителни пакети (главно библиотеки).

Обявата 3 показва простият пример на използване PyGame.

Обявата 3. Пример PyGame-приложение (файл hwpg.py)

Тънкостите на използване питон език част 10

Тънкостите на използване питон език част 10

Обява 4 показва пример на чертежа в полето на прозореца, можете също да се направи, не само в прозореца, но също така и в различни дограма.

Обявата 4. Пример PyGame-приложение (файл drawing.py)

Фигура 4 показва резултата от управлението на прилагане:

Тънкостите на използване питон език част 10

Тънкостите на използване питон език част 10

PyGame също има ограничена функционалност за работа с някои общи аудио формати (пускане, спиране, фон възпроизвеждане). Например, ето как можете да играете .wav файл:

В най-простия сценарий, тази функционалност не може да бъде продаваем. Но в по-сложни случаи, такива проблеми трябва да използват специални безплатни проекти, например, SOX, Ogg, Vorbis, Speex, FLAC и кодеци.

Автоматизиране на GUI приложения, използващи PyZenity

Понякога приложения изискват проста GUI интерфейс, например, набор от някои диалогови прозорци, които изискват потребителско име и парола, или името на файла. В такива сценарии възможни библиотеки, описани по-горе са излишни. Но специално за този вид проблеми там Zenity конзола програма, предназначена за формиране на GUI интерфейс на езика на черупка. Разбира се, има интерфейс към нея от Python, приложена в проекта PyZenity.

Същият файл може да се използва за Python 3:

След инсталацията можем да създадем просто приложение (виж enter.py python_gui.tgz файл в архива.)

И го стартирате:

В резултат на получаване на този прозорец:

Тънкостите на използване питон език част 10

Можете също така да напиша сценарий за да изберете една стойност от списък (вж. Select.py python_gui.tgz файл в архива).

Резултатът от използването на този приложение е показано на Фигура 6:

Тънкостите на използване питон език част 10

Тънкостите на използване питон език част 10

заключение

Но независимо от използвания инструмент, логиката и структурата на такива приложения ще бъдат изградени около дръжката на потребителския интерфейс събития. Разнообразие от инструменти ще има специфични характеристики, като например поддръжка за 2D и 3D-графики, анимация или мултимедийни формати, които ще ви помогнат да изберете инструмент, който е подходящ за определена цел.

Изтегляне ресурси

Свързани теми

Подкрепете проекта - споделете линка, благодаря!