Talaabooyinka ugu horeeya ee loo yaqaan Python + Qt # 1

Casharradan waxay diiradda saareysaa barashada adeegsiga qaabdhismeedka QT iyadoo la adeegsanayo Python iyadoo loo adeegsanayo luuqad barnaamij ahaan, tan waxaan u adeegsan karnaa PySide iyo PyQt labadaba, laakiin casharkaan waxaan u adeegsan doonnaa PySide maxaa yeelay qoraaga casharkaan wuxuu jecelyahay ruqsadda LGPL PySide. ka badan GPL ama PyQt Ganacsi.

Ugu horreyn ... Waa maxay Python?

Sida laga soo xigtay Wikipedia:

"Python waa luuqad barmaamij aad loo tarjumay oo heer sare ah oo falsafadeedu xoojinayso iskuxirka nadiifka ah waxayna door bidaysaa koodh la aqrin karo

Python waa luuqad barnaamij balaaran, sidaa darteed waxay taageertaa qaabab kaladuwan oo barnaamijyo Python ah, tusaale ahaan waxay taageertaa: Ujeeddada Ujeeddada Barnaamijyada (OOP), Barnaamijyada Imperative (Habeysan) iyo in yar oo ka mid ah barnaamijyada waxqabadka.

Kaliya taasi?

Maya, sidoo kale waa luuqad makiinad wax ku qorid firfircoon, taas oo macnaheedu yahay in Python uu noo ogolaanayo inaan ku meeleyno noocyo kala duwan oo qiimeyaal isla doorsoomayaal ah inta lagu gudajiro fulinta barnaamijka, qaar waxay u arkaan faa iido, kuwa kalena faa'iido daro, naftaada u arag.

Waxa horay loo soo sheegay ka sokow, Python wuxuu noo ogolaanayaa (sida kuwa kale oo badan), barnaamijyada labadaba jawiga webka iyo miiska websaydhka, sidoo kale waa iskutallaab, hadda waxay taageertaa Gnu / Linux, Windows, Mac osx, Android (Haddii aad u baahan tahay inaad u sheegto iyaga wax ka beddelid)

Waa maxay QT?

QT waa qaab-dhismeedka qaab-dhismeedka isku-dheelitirka badan, oo markii hore ay soo saartay shirkadda Nokia, si mar dambe loogu iibiyo Digia, oo loo adeegsado horumarinta arjiga, waxay ku qoran tahay C ++, laakiin waxaa loo isticmaali karaa luqado kale iyada oo loo marayo Bindings (kiiskeenna PySide ama PyQt)

Farqiga u dhexeeya PySide iyo PyQt

Inta badan

  • Shatiga, PySide wuxuu ruqsad ka haystaa shuruudaha LGPL iyo PyQT waxay ku hoos jiraan shuruudaha GPL ama shatiga ganacsiga, sidaas darteed waxaan u baahanahay inaan bixino haddii ay dhacdo abuuritaanka codsi xiran.
  • PySide waxaa abuuray Nokia, PyQt-na waxaa sameeyay RiverBank.
  • PySide waxay naga badbaadineysaa dhibaatada isticmaalka STR mar kasta oo aan isticmaalno QString ee walxaha QT kasta.

Waan faahfaahin karnaa isbeddelada oo dhameystiran Aqui.

Diyaarinta:

Waxaan rakibnaa Qt:

Haddii aan Kro ku leenahay Kde waa inaan horeyba u haysannaa waxa aan u baahan nahay, haddii kale:

sudo apt-hel rakib qt4-dev-qalabka

Waxaan rakibnaa PySide:

sudo apt-get install pyside pyside-tools

Codsigeena koowaad ee Python + QT

Waxaan aadeynaa tifaftiraha qoraalka aan ugu jecelahay, waxaan kugula talinayaa inaad rakibto sublime-text2, laakiin waad isticmaali kartaa midka aad doorbideyso, waxaana qoreynaa koodhka soo socda oo waxaan ku keydinaa magaca aan dooneyno marwalba inaan ku dhameyno kordhinta ".py" , Waxaan keydin doonaa sidii app1.py:

3

Eeg Xeerka

Waxaan ka wadnaa qunsulka sidan:

python app1.py

Daaqadani waa inay muuqataa

2

Waa intaas oo keliya, maxaa yeelay haddii aad konsol ku haysato hadda ka hor, maxaad ka cabanaysaa? Maxaad filaysay, Erp? kaalay ninka waxbaa bilaabmaya.

Hadda aan sharaxno koodhka:

from PySide.QtGui import *

from sys import exit, argv

Halkan waxaan ku soo dhoofineynaa qaybaha lagama maarmaanka u ah fulinta PySide.

app = QApplication(argv)

Waxaan ku abuurnay tusaalaha Qapplication magaca barnaamijka.

window = Qwidget()

Waxaan abuureynaa tusaalaha QWidget ().

window.setWindowTitle("Primera App PySide")

Waxaan fulineynaa habka setWindowTitle, kaas oo hela Xarig sida halbeegga "dejinaya" cinwaanka Qwidget-keena.

window.show()

Waxaan muujineynaa daaqadayada

exit(app.exec_())

ugu dambayntii waxaan fulinnaa wareegga aan dhammaadka lahayn ee fulinta QApplication-keena ().

Gracias

Waad ku mahadsan tahay kuwa halkan igu soo raacay ee waxtar ii yeeshay. Casharka soo socda waxaan ku sharixi doonaa sida loo naqshadeeyo daaqadahayaga QT Designer oo aan ugu soo dhoofiyo mashaariicdeena.

Intaa waxaa dheer, waxaan ku darayaa isku xirka madasha desde linux halkaas oo aan ku leeyahay mawduuc yar oo leh maktabad yar oo casharro Python ah iyo tilmaamo ah, oo ka kooban erayo kala duwan oo ay ka mid yihiin:

Casharrada aasaasiga ah ee Python

wxPython

PyQt iyo PySide

Django

web2py

Barnaamijyada sayniska ee Python.

Iyo qaar kaloo badan.

LIFIIR MADASHA

Waxaan rajeynayaa inay kuu adeegi doonaan, waxaan dhahayaa macsalaameyn, sida had iyo jeer farxad loogu helo ka mid noqoshada beeshan cajiibka ah.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   @ aamina17 dijo

    Waad ku mahadsan tahay boostada!

  2.   annubis dijo

    2 waxyaalood:

    1. Qt asal ahaan Nokia ma soo saarin, laakiin waxaa sameeyay Trolltech, oo markii dambe ay iibsatay Nokia. Kuwii dambe ayaa Qt ka iibiyey Digia.
    2. Sawirka tusaalaha koowaad ee arjiga ma waafaqsana koodhka.

    Mahadsanid casharka, waan raaci doonaa follow

    1.    f3niX dijo

      Xaqiiqdii waad saxantahay waan u xiisay. Tan labaadna sidoo kale waad saxan tahay, waa inaan u badalay si aan ufududeeyo oo aanan u isticmaalin fasalka oo waxaan seegay wax ka badalka, khaladaadka bilowga ah Horey ayaan uga gudbay sixitaanka tafatiraha qaar si aan u ansixiyo.

    2.    f3niX dijo

      Ma badali karo, waxaan u dhaafayaa tifaftiraha qaar.

      Thanks.

      1.    neysonv dijo

        Email ugu dir cinwaanka tifaftiraha la saxay. waad u diri kartaa emaylka @nano oo ka mid ah tafatirayaasha
        mailto: nano.world.contact@gmail.com
        fadlan casharka ha uga tagin sidan
        Salaan

  3.   Germán dijo

    Hal shay ayaa igu dhacay: maxaad ugu isticmaashaa "ka soo dhoofinta *" koodhkaaga?

    Waad ku mahadsan tahay!

    1.    f3niX dijo

      Waa sida saxda ah ee wax loo soo dhoofiyo, markaad wax sidan oo kale u soo degto waxaad u sheegaysaa nooca gaarka ah ee moduleka ah ee aad rabto inaad soo dejiso, isla markaana aadan u wicin qaybta dhammaystiran.

      Thanks.

      1.    Germán dijo

        Waxaan u arkaa noocaas oo wareer ah. Intaas waxaa sii dheer, laguma talinayo PEP8:

        "Waxyaabaha la soo dejiyo ee loo yaqaan 'Wildcard' (laga soo qaado moduleka laga keeno *) waa in laga fogaadaa, maxaa yeelay waxay caddeyn u yihiin magacyada ku jira magaca magaca, iyagoo jahwareerinaya akhristayaasha iyo qalab badan oo otomaatig ah ..."

        1.    f3niX dijo

          Waxaa inta badan laygu hagay xeerar xirfadeed, sida Ninja-Ide, waxaad ku arki kartaa koodhka halkan: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyWaxaa lagu sameeyaa PyQt sidoo kale, laakiin si kasta oo ay u jiraan ma jiraan wax kugu qasbaya inaad isticmaasho hal foom ama mid kale.

          Halkan waxaad ka arki kartaa dood ku saabsan StackOverflow, oo ku saabsan tan:

          http://stackoverflow.com/questions/710551/import-module-or-from-module-import

          Halkaas waxay ku xusayaan faa'iidooyinka iyo khasaaraha mid kasta oo ka mid ah qaababka.

          1.    f3niX dijo

            ok raali ahow kumaan fahmin, waan ogahay taas, kaliya waan sameeyay sababta oo ah ma doonayo inaan sharaxaad ka bixiyo shay kasta QApplication, QWidget, ka dibna guud ahaan laakiin waad saxantahay gebi ahaanba.

            Raali noqo is fahan la'aanta.

          2.    Germán dijo

            Maya, ma aadan fahmin ama dhag jalaq uma siinin ... waxaan ula jeedaa adeegsiga «ka moduleka laga keeno *», taasi waa, waxaan ula jeedaa «xidigta» ... boostadaas StackOverflow waxay ka hadlayaan wax kale, laakiin wali way adkaynayaan:

            Midkoodna waa la aqbali karaa, laakiin ha ka isticmaalin ka soo dejinta moduleka *.

            Hadda ma la fahmay?

          3.    Felipe dijo

            Jarmal waa sax. Muxuu yahay isticmaalka ka soo dejiska moodeelka haddii aad soo dhoofiso dhammaan waxyaabaha ku jira astaanta, moduleka soo dejinta. Slds sida post fiican.

          4.    Germán dijo

            Ahh si fiican, hadda waan fahmay ... si kastaba ha noqotee, ha i dheerayn, sidoo kale waxaan ahay bilow ah Python. Hadaad booqato balooggeyga, waxaad arki doontaa inaan sameeyay qoraal la mid ah kanaga laakiin Gtk + 3 anigoo adeegsanaya PyGObject.

            Salaan iyo mahadsanid!

        2.    f3niX dijo

          Halkan waxaan uga tagayaa Pep8, Isbaanishka oo kugula talinaya isticmaalka im
          Waa wax aad u adag in la isticmaalo soodejinta qaraabada si looga soo dejiyo koodh xirmo. Had iyo jeer u isticmaal dariiqa saxda ah ee xirmada dhammaan soo dejinta. Xitaa hadda in PEP 328 [7] si buuxda loogu hirgeliyo Python 2.5, adeegsiga soo dejinta qaraabada si aad ah ayaa looga niyadjabay; soo dejinta gabi ahaanba waa kuwo la qaadi karo oo badanaa la aqrin karo.

          Markaad ka soo dejineyso fasal ka mid ah moduleka, caadi ahaan waa sax in sidan la sameeyo
          laga bilaabo myclass ka soo dejinta MyClass
          ka foo.bar.yourclass soo dajiso YourClass

          Salaan

          1.    ka fogaansho dijo

            Akhriso tan: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided

            Alex Martelli (core py horumariye) wuxuu kugula talinayaa wax sidan oo kale ah:


            from PyQt4 import QtCore, QtGui

  4.   msx dijo

    Waxaan doonayay waxbadan, waayo goorma qeybta 2aad!?
    Salaan 🙂

  5.   Waqti dheer 3000 dijo

    Casharro aad u wanaagsan, oo lagu daray waxay ku raaxeysan kartaa barnaamijka.

  6.   ka fogaansho dijo

    Halkan waxaa ku yaal tusaale ka mid ah is-dhexgalka ka soo xoqidda (iyada oo aan la adeegsan QtDesigner).

    https://github.com/xr09/metrocontador

    1.    f3niX dijo

      Barnaamijka qashinka ayaa aad u fiican, halkan xitaa ma ogin inta ay naga qaadaan koronto, salaan haha.

      1.    ka fogaansho dijo

        Waad ku mahadsan tahay, waa mid ka mid ah barnaamijyadan mid ka mid ah uu u sameeyo adeegsi shaqsiyeed una adeego kuwa kale. Halkan Kuuba rasiidhka ayaa lagu kala jabiyey qiimaha, way fududahay in la nuqulo algorithm.

  7.   Jose Eloy dijo

    Aad ayaan ula socon doonaa koorsadan. Waxaan xiiseynayey barnaamijyada iskutallaabta muddo dheer waxaanan u maleynayaa in isku darka Python + QT / Pyside uu yahay ikhtiyaar weyn. Salaan iyo bogaadin hal-abuurka

  8.   Bryan Rodriguez dijo

    Waxaan raacay talaabooyinka oo dhan sida saxda ah ee aad dhahdo laakiin markii aan wado barnaamijka app1.py-ka ee terminalka wuxuu ii sheegayaa Traceback (wicitaankii ugu dambeeyay ee ugu dambeeyay):
    Faylka "app1.py", sadarka 1, gudaha
    ka yimid PySide.QtGui import *
    ImportError: No module loo magacaabay PySide.QtGui. Maxay tani tahay?

    1.    Felipe dijo

      taasi waa sababta oo ah waxaad u adeegsaneysaa nooca Python turjubaanka asalka ah, laakiin ma lihid pyside lagu rakibay noocaas.

      Isku day inaad ku darto bilowga faylka:
      #! usr / bin / Python3
      ama kale
      #! usr / bin / Python2

      Waxaan kugula talinayaa inaad Eclipse la isticmaasho pydev oo aad turjubaanka si fiican u qaabeysid.
      slds

      1.    Felipe dijo

        #! / usr / bin / Python3
        ama kale
        #! / usr / bin / Python2

        1.    f3niX dijo

          PySide wali lama jaanqaadi karto Python3, ka taxaddar taas, tan labaadna, ka hubso soo dejinta adoo adeegsanaya qalabka loo yaqaan 'Python console', markaa waad ogtahay inaad adigu rakibtay iyo in kale, sidoo kale waxay rakibtaa tuubbo.

          1.    Bryan Rodriguez dijo

            Sideen ku xaqiijiyaa

          2.    f3niX dijo

            Marka la isticmaalayo qalabka loo yaqaan "Python", si kastaba ha noqotee waxaan kugula talinayaa inaad gasho maktabada aan kaga tagay hoosta boostada oo aad kala soo baxdo "Python qof walba", waxaad u baahan tahay saldhig dheeri ah.

            Salaan iyo nasiib.

          3.    Bryan Rodriguez dijo

            Aad baad u mahadsan tahay, waxtar weyn bayna ii ahayd.

          4.    Mauricio Tobares dijo

            u fiirso saaxiib F3niX waan helay tan, waxay umuuqataa in Python 3.3.2 daaqadaha (taas oo ah tan aan haysto ilaa usbuuca soo socda) waxay leeyihiin binaries 32 jajab iyo 64 jajab, waxaan iskudayay tusaalahaaga wuxuuna la shaqeeyaa Python 3.3.2 iyo Waxaan u adeegsadaa PyScriptpter oo rakibiya deegaanno kala duwan, haddii aad furto Python 3 waxay u socotaa qoraallada sida Python 3 iyo haddii aad furto 2.7 waxay u fulineysaa iyaga sida 2.7 iyo wixii la mid ah (macquul ahaan waa inaad haysataa noocaas Python-ka lagu rakibay ... waa la fahmay)

            http://qt-project.org/wiki/PySide_Binaries_Windows

            Halkaas ayaan kaaga tagayaa, xanta, waxaa laga yaabaa inay u adeegto qof kale 😀

      2.    Bryan Rodriguez dijo

        Waxaan helayaa qalad isku mid ah.

        1.    Germán dijo

          Ma ku rakibtay PySide?

          1.    Bryan Rodriguez dijo

            Waan ku rakibay.

        2.    Felipe dijo

          Oo isku day PyQT4 rakib ka dibna u beddelo khadadka PySide PyQT4 ama PyQt4, oo sii socodsiin. jojo. Adeegso madoobaadka. Nasiib

          1.    Bryan Rodriguez dijo

            Sideen ku sameeyaa taas ?.

  9.   karlinux dijo

    Aad ayaad u mahadsantahay !!! Sugitaanka cutubka labaad

    1.    f3niX dijo

      Jimcaha maanta ah waan daabici karaa (Jaamacaddu wax yar bay iga buuxisay) salaan.

  10.   MauricioTobares dijo

    Friend F3nIX Waxaan sugayaa casharkaaga N ° 2, 3, 4… N hehehe

    Waxaan horeyba uheystay linux aad u qurux badan oo lagu rakibo PySide sugida iyo wax walba!

    Aan aragno markii lagu dhiirigaliyay inuu muujiyo macalin cusub 😀

    1.    f3niX dijo

      Iga raali noqo sxb, waxaan hayaa qabyo laakiin shaqada iyo waxbarashadu waqti ima siin, waxaan balan qaadayaa inaan usbuucan wax kala soo baxo.

      Salaan weyn

  11.   Dante dijo

    Waad salaaman tahay, waxaan xiiseynayay barashada Python muddo dheer laakiin shaki ayaa iga galay. Waxa aan rabaa waa in aan sameeyo codsi lagu hagaajinayo waxoogaa habsami u socodka howlaha ganacsi ee qoyska ee aan ka shaqeeyo, waxaan jeclaan lahaa in aan wax u sameeyo daaqadaha, marka horena daaqadaha, waxay ku wada shaqeyn laheyd hal pc ka dibna way awoodaa lagugu xidhi karo internetka oo laga heli karo xogta keydka ee kumbiyuutarradu ku xidhi doonaan. Waxaa jira kala duwanaansho badan marka la eego GUIing dalabka waana iga dawakhsan tahay. Maxaad kugula talineysaa inaad siiso muuqaal casri ah oo soo jiidasho leh? Waxaan sidoo kale sameyn lahaa garaafyo tirakoob iyo warbixinno daabacan, maxaan ugu isticmaali karaa taas? Farxad

  12.   Jorge dijo

    Waad salaaman tahay, aad ayey ufiican tahay, qoraalkaaga, waxaan qabaa su'aal, miyaan iibin karaa barnaamijkeyga lagu sameeyo pyside dhibaato la'aan?

    1.    f3niX dijo

      Hagaag, rukhsaduhu had iyo jeer waa waalan yihiin, laakiin ruqsadaha softiweer ee bilaashka ah ayaa sidoo kale kuu oggolaanaya inaad iibiso softiweer, waxa dhacaya ayaa ah in GPL ay kugu qasbeyso inaad koodh qaybiso, si ka duwan LGPL, oo ​​aan kugu khasbayn inaad sidaas sameyso.

      Sikastaba xaalku ha ahaadee, khabiir kuma ihi shatiyeynta.

      Thanks.