I BOB. WXPHUTON KUTUBXONASI VA IMKONIYATLARI

I BOB. WXPHUTON KUTUBXONASI VA IMKONIYATLARI
1.1.WXPHUTON KUTUBXONASI haqida tushuncha
wxPython GUI asboblar to'plami bu wxWidgets deb nomlangan C++ kutubxonasi atrofidagi Python o'ramidir . WxPython-ning dastlabki chiqarilishi 1998 yilda bo'lgan, shuning uchun wxPython anchadan beri mavjud. wxPython-ning PyQt yoki Tkinter kabi boshqa asboblar to'plamlaridan asosiy farqi shundaki, wxPython iloji boricha mahalliy platformadagi haqiqiy vidjetlardan foydalanadi. Bu wxPython ilovalarini u ishlayotgan operatsion tizimga xos qiladi.
PyQt va Tkinter ikkalasi ham o'z vidjetlarini o'zlari chizishadi, shuning uchun ular har doim ham mahalliy vidjetlarga mos kelmaydi, garchi PyQt juda yaqin bo'lsa.
Bu wxPython maxsus vidjetlarni qo'llab-quvvatlamaydi, degani emas. Aslida, wxPython asboblar to'plamida o'nlab va o'nlab asosiy vidjetlar bilan bir qatorda ko'plab maxsus vidjetlar mavjud. wxPython yuklab olishlar sahifasida tekshirishga arziydigan Qo'shimcha fayllar deb nomlangan bo'lim mavjud .
Bu yerda wxPython demo paketini yuklab olish mumkin. Bu wxPython-ga kiritilgan vidjetlarning katta qismini namoyish qiluvchi yoqimli kichik dastur. Demo dasturchiga kodni bitta yorliqda ko'rish va uni ikkinchi tabda ishga tushirish imkonini beradi. O'zgartirishlaringiz ilovaga qanday ta'sir qilishini ko'rish uchun siz hatto demoda kodni tahrirlashingiz va qayta ishga tushirishingiz mumkin.
cd Phoenix
git submodule init
git submodule update --recursive
sip/gen : ETG skriptlari tomonidan ishlab chiqarilgan kod (.sip fayllari) ushbu jildga joylashtirilgan.
sip/cpp : SIP ishga tushirilganda ishlab chiqarilgan kod ushbu papkaga joylashtiriladi. Bu C++ manba va sarlavha fayllari, shuningdek, ishlab chiqarilgan manba fayllari haqida ma'lumotga ega bo'lgan qo'shimcha fayllar bo'ladi, shuning uchun tuzilma qanday fayllarni kompilyatsiya qilishni biladi.
sip/siplib : Bu SIP ish vaqti kutubxonasining nusxasi. Bizda o'z nusxamiz bor, shuning uchun uni wxPython konstruktsiyasiga noyob nom ( ) bilan kengaytma moduli sifatida kiritish mumkin wx.siplibva maqsadli tizimda o'rnatilgan SIP ga ish vaqtiga bog'liqlikni talab qilmaslik uchun. WxPython bilan integratsiya qilmoqchi bo'lgan uchinchi tomon kengaytmalari sip.h #includeushbu papkada bo'lishini ta'minlashi kerak.
src : Ushbu jild ba'zi bir vosita tomonidan yaratilgan emas, balki qo'lda tahrirlangan har qanday boshqa manba kodi (SIP, C++, Python yoki boshqa narsalar) uchun.
wx : Bu wxPython paketining yuqori qismidir. Joyda qurish uchun kengaytma modullari va har qanday bog'langan fayllar ushbu jildga joylashtiriladi. Ichki papkalarda wx paketining sof python subpaketlari mavjud, masalan, wx.lib va boshqalar.
Fayllarni nomlash
Ishlash kerak bo'lgan narsalarni qidirishda ishlarni biroz osonroq saqlashga yordam berish uchun Feniks loyihasidagi fayl nomlari wxWidgets interfeysi sarlavhalari jildidagi fayllar nomlarini aks ettiradi. Misol uchun, agar mavjud bo'lsa interface/wx/FOO.hva biz ushbu fayl uchun ishlab chiqarilgan XMLni qayta ishlayotgan bo'lsak, u holda sinflar va boshqa elementlar uchun ETG skripti nomlanadi etg/FOO.pyva u ishlab chiqaradi sip/gen/FOO.sip, birlik testlari ichida bo'ladi unittests/test_FOO.pyva hokazo.
Ko'pgina hollarda bitta Python kengaytmasi modulini yaratish uchun bir nechta ETG/SIP fayllaridan foydalaniladi. Bunday hollarda bitta ETG skripti barcha qolganlarini bitta kengaytma moduliga birlashtirish uchun ishlatiladi (masalan, orqa tomon gene ratorining o'z ichiga olish xususiyatidan foydalanish orqali). Bu skriptlarning nomlarida asosiy pastki chiziq bo'ladi, masalan, , etg/_core.pyva ushbu kengaytma moduliga qo'shilishi mo'ljallangan barcha skriptlar MODULE o'zgaruvchisida ushbu nomni ko'rsatishi kerak.
Old shartlar
Quyida Feniksni o'zingiz uchun qurish uchun zarur bo'lgan ba'zi maslahatlar mavjud. Bu yerda tilga olinmagan boshqa narsalar ham boʻlishi mumkin, agar aytib oʻtish kerak boʻlgan boshqa narsani topsangiz, ushbu hujjatni yangilash uchun PR yuboring.
Windows
wxWidgets va wxPython Phoenix uchun zarur bo'lgan barcha manba kodi wxWidgets va Phoenix manba daraxtlariga kiritilgan. Stok Python o'rnatilishidan tashqari sizga Visual Studio 2008 (Python2.7 mosligi uchun) yoki Visual Studio 2015 (Python 3.x qo'llab-quvvatlash uchun) nusxasi ham kerak bo'ladi. Mingw32 yordamida ham qurish mumkin bo'lishi kerak, ammo buni qo'llab-quvvatlash uchun qurish skriptlariga ba'zi o'zgarishlar kiritilishi kerak.
Windows API-ning yangi ta'riflariga ega bo'lish uchun siz MS SDK nusxasini ham olishni xohlashingiz mumkin. Men odatda Visual Studio 2008 bilan 7.0 yoki 7.1 dan foydalanaman.
Afsuski, Microsoft endi Visual Studio 2008 ni tarqatmaydi. Lekin vahima qo'ymang! Ular yaqinda "Python 2.7 uchun Microsoft Visual C++ kompilyatori" paketini taqdim etdilar, undan Python 2.7 uchun Feniksni yaratishda ham foydalanish mumkin. Shuningdek, Windows-da bo'lgani kabi, Python-ni yaratishda foydalanilgan bir xil yoki shunga o'xshash kompilyatordan foydalanish odatda narsalarning yaxshiroq ishlashiga yordam beradi va muvaffaqiyatga erishish imkoniyatini oshiradi. Masalan, Python 2.7 zaxirasi kengaytmalarni yaratishda "gcc-4.2" dan foydalanishga harakat qiladi, ammo Xcode ning yangi versiyalarida bu buyruq mavjud bo'lmasligi mumkin. Men hozirda Xcode 7.1.1 dan foydalanmoqdaman.
wxPython-ga o'zgartirish kiritmayotgan bo'lsangiz yoki uni qo'llab-quvvatlanmaydigan kompilyator yoki boshqa apparat arxitekturasi uchun qurishingiz kerak bo'lsa, ehtimol siz bu tarzda qurish uchun o'zingizni azob-uqubatlarga duchor qilishingiz shart emas. Bu murakkab tuzilish va ba'zida hatto mutaxassislarni ham chalkashtirib yuborishi mumkin. Buning o'rniga, agar PyPI-da mavjud bo'lgan ikkilik fayllar sizga kerak bo'lmasa, siz chiqarilgan manba arxivlaridan yoki nashrdan oldingi oniy suratlar tuzilmalarida yaratilgan manba arxivlaridan qurish uchun pip-dan foydalanishingiz mumkin. Bu haqdagi eslatmalarga qarang:
wxPython Phoenix tuzilishining barcha jihatlari build.py skripti tomonidan taqdim etilgan bir qator buyruqlar orqali boshqariladi. Bundan tashqari, standart distutils yoki setuptools qurilish turlariga o'rganib qolganlar uchun setup.py skripti mavjud. Setup.py skripti barcha kod yaratish bosqichlari allaqachon bajarilgan deb taxmin qiladi va shuning uchun u manba snapshot tarballdan yaratishda yoki easy_install yoki pip-dan foydalanishda foydalanish uchun mos keladi. O'rnatish yoki g'ildirak qurish kabi sozlash vositalarini bajarishda setup.py skripti haqiqiy qurish uchun build.py ga vakil qiladi va build.py setup.py ga vakolat beradi.
|