Просмотр содержимого документа
«Python + PyQT бағдарламаларын байланыстыру»
Python + PyQT
Жоланова Қарлығаш Бақтиярқызы
Л.Н. Гумилев атындағы Еуразия ұлттық университетінің «5В011100- Информатика» мамандығының студенті, Астана, Қазақстан
PyQt - бұл Python кеңейту ретінде жобаланған Python бағдарламалау тілі, үшін «Якорь» графикалық негіздемелік Qt жиынтығы.
PyQt британдық Riverbank Computing компаниясы әзірледі. Linux және басқа да UNIX-тәрізді операциялық жүйелер, Mac OS X және Windows: PyQt Qt қолдау барлық платформаларда жұмыс істейді. екі нұсқасы бар: PyQt5, Qt Qt 4. PyQt GPL лицензиясы (нұсқа 2 және 3) сәйкес және коммерциялық кеңейтеді қолдау, 5 және PyQt4 қолдайды.
PyQt толықтай дерлік Qt мүмкіндігін жүзеге асырады болып табылады. : Және бұл, оның ішінде 600-ден астам сыныптар мен 6000-ден астам функциялары мен әдістері болып табылады
GUI виджеттер ағымдағы жиынтығы;
Виджет стильдер;
SQL (ODBC, MySQL, PostgreSQL, Oracle) пайдалана отырып, деректер базасына қол жеткізу;
Крупица Виджет мәтіндік редакторы негізделген QScintilla;
Халықаралық қолдау (i18n);
XML талдағышы;
қолдау SVG;
WebKit, көрсету тетігін, HTML интеграция;
бейне және аудио қолдау.
PyQt сонымен қатар графикалық пайдаланушы интерфейсінің дизайнерін Qt Designer (Qt Creator) қамтиды. Pyuic бағдарламасы Qt Designer-да жасалған файлдардан Python кодын жасайды. Бұл PyQt жылдам прототипі үшін өте пайдалы құрал жасайды. Сонымен қатар, Qt Designer-ге Python-да жазылған жаңа графикалық басқару элементтерін қосуға болады.
Бұған дейін PyQt Eric әзірлеу ортасымен жіберілді PyQt. Эрик кірістірілген күйге келтірушімен жабдықталған және консольдық бағдарламаларды жасау үшін пайдаланылуы мүмкін. Енді ол жеке жоба ретінде қол жетімді
QtCore - негізгі графикалық емес сыныптар: сигналдар мен слоттар жүйесі, Unicode үшін платформаға тәуелсіз абстракциялар, жіптер, ортақ жад, тұрақты өрнектер және т.с.с.
QtGui - визуалды ұсыну негізінде графикалық интерфейстің (басқару элементтері) компоненттері.
QtNetwork - желілік бағдарламалау үшін сыныптар. Мысалы, UDP және TCP арқылы клиенттер мен серверлер.
QtOpenGL - PyQt қосымшаларында OpenGL және 3D графиктерін пайдалануға мүмкіндік беретін сыныптар.
QtScript - қолданбаны басқару үшін Qt ішіне орнатылған JavaScript интерпретаторын пайдалануға мүмкіндік беретін сыныптар.
QtSql - SQL көмегімен дерекқорлармен біріктіруге арналған сыныптар.
QtSvg - SVG форматында векторлық графиканы көрсету үшін сыныптар.
XML өңдеуді жүзеге асыратын QtXml сыныптары.
uic - Python-GUI-ны құру үшін Qt Designer-да жасалатын өңдеу XML файлдарын енгізу
Qt Дизайнер кросс-платформаны құрастырушы болып табылады және графикалық пайдаланушы интерфейсін қалыптастырады. Бұл бағдарламада пайдаланылатын бірдей виджеттерді пайдаланып, экрандық нысандарды пайдаланып, виджеттер мен диалогтық терезелерді тез жасауға мүмкіндік береді. Qt Designer-мен жасалған нысандар толығымен функционалды және нақты уақыт режимінде де көрінуі мүмкін.
Неғұрлым күрделі мысал
Бұл мысал неғұрлым маңызды бағдарламаларды құру принциптерін көрсетеді. Ол Python 3 және Qt Designer пайдаланады. Бағдарламаның көрнекі көрінісі мен логикасын бөлуге мүмкіндік беретін объектілі-бағытталған көзқарас пайдаланылады.
test.pyw - бағдарламаны іске қосатын негізгі файл.
mainform.py - терезенің негізгі сипаттамасы.
mainform.ui - Qt Designer автоматты түрде жасалатын негізгі терезенің сипаттамасын қамтитын файл. Qt Designer QDialog негізіндегі жоба құрды және 2 элемент таңдалды: labelButton деп аталатын мәтін белгісі, pushButton деп аталатын түймешік.
Бұл мысалда setLabelText әдісімен ұсынылған өте қарапайым функционалдылық. Дегенмен, кіріс деректерді неғұрлым күрделі өңдеуді қажет етсеңіз, бұл өңдеуді бөлек модульге (файлға) қою ұсынылады.
SIP
SIP - C және C ++ кітапханаларына Python байланыстарын автоматты түрде жасау құралы. Бастапқыда SIP Qt виджетінің құралдар жинағы үшін PyQt-Python-байланысы үшін 1998 жылы әзірленді, бірақ кез-келген басқа C немесе C ++ кітапханаларына байластыру үшін қолайлы.
SIP API-ды сипаттайтын және қажетті C ++ кодын жасайтын нұсқаулар жиынтығын (.sip файлдарын) алады. Содан кейін ол құрастырылады және шығу Python модулі болып табылады. .sip файлдар - бір нәрсе алып файлдар сынып атау (SIP толық C ++ бар емес, өйткені - парсерін) (C ++ API туралы жеткілікті ақпарат асыруға емес, өйткені) және бір нәрсе қосылған.
PyQt4 метасип деп аталатын ішкі құралды (PyQt-да жазылған) пайдаланады. Бұл SIP үшін IDE түрі. Ол GCC-XML файлын тақырып файлдарының ең соңғы нұсқасын талдау үшін пайдаланады және XML-ге тиісті деректерді метасип жобасына сақтайды. metasip содан кейін API-ның алдыңғы нұсқасымен ерекшеленеді және барлық өзгерістерді қарастыру қажет. Содан кейін өзгерістер тізімі GUI арқылы жасалады және TODO-ға автоматты түрде енгізіледі. .sip файлдарын жасау - батырмасын басыңыз.
Жасалған код жұмысына қатысты ол кез-келген басқа байланыстырушы генератордың жұмысынан ерекшеленбейді. Python модульдері өте жақсы API - бұл үшінші тарап құралдарына арналған Python байланыстарының көп санының себептерінің бірі. Әрбір C ++ класы үшін SIP тиісті Python сыныбын жасайтын C коды жасайды.
PyQt - бұл кең пайдаланушы базасы бар өнім. PyQt коммерциялық қолданушылары арасында Disney, Dreamworks, Pixar, Industrial Light және Magic және Sony Pictures сияқты танымал корпорациялар бар. Жалпы коммерциялық қолданушылар 200-ден астам (2006 жылғы деректер бойынша)