A ’chiad cheumannan le Python + Qt # 1

Tha an oideachadh seo ag amas air a bhith a ’teagasg cleachdadh an fhrèam QT a’ cleachdadh Python mar chànan prògramaidh, airson seo is urrainn dhuinn an dà chuid PySide agus PyQt a chleachdadh, ach san oideachadh seo cleachdaidh sinn PySide oir is fheàrr le ùghdar an oideachaidh seo cead LGPL PySide. na an GPL no PyQt Commercial.

An toiseach ... Dè a th ’ann am Python?

A rèir Wikipedia:

"Tha Python na chànan prògramaidh àrd-mhìneachaidh àrd-ìre agus tha an fheallsanachd aige a’ cur cuideam air co-aonta fìor-ghlan agus a ’fàbharachadh còd a ghabhas leughadh."

Tha Python na chànan prògramaidh ioma-ghnèitheach, agus mar sin tha e a ’toirt taic do dhiofar paragrafan prògramaidh python, mar eisimpleir tha e a’ toirt taic do: Prògramadh Rud-amas (OOP), Prògramadh Imperative (Structar) agus gu ìre nas lugha Prògramadh gnìomh.

A-mhàin sin?

Chan e, tha e cuideachd na chànan clò-sgrìobhaidh fiùghantach, a tha a ’ciallachadh gu bheil python a’ leigeil leinn diofar sheòrsaichean luachan a shònrachadh don aon chaochladair rè coileanadh a ’phrògraim, tha cuid ga fhaicinn mar bhuannachd, cuid eile mar ana-cothrom, faic dhut fhèin. .

A bharrachd air na chaidh ainmeachadh, tha Python a ’leigeil leinn (mar mòran eile), prògramadh an dà chuid san àrainneachd lìn agus anns an deasg lìn, tha e cuideachd tar-àrd-ùrlar, an-dràsta tha e a’ toirt taic do Gnu / Linux, Windows, Mac osx, Android (Ma thogras tu feumar iomradh a thoirt orra airson an atharrachadh agad).

Dè a th 'ann an QT?

Tha QT na fhrèam ioma-chruth, air a leasachadh le Nokia an toiseach, airson a reic ri Digia nas fhaide air adhart, a tha air a chleachdadh airson leasachadh thagraidhean, tha e sgrìobhte ann an C ++, ach faodar a chleachdadh ann an cànanan eile tro Bindings (sa chùis againn PySide no PyQt)

Eadar-dhealachaidhean eadar PySide agus PyQt

Sa mhòr-chuid

  • Cead, tha PySide ceadaichte fo chumhachan an LGPL agus tha PyQT fo chumhachan an GPL no fo chead malairt, agus mar sin dh ’fheumamaid pàigheadh ​​gun fhios nach cruthaicheadh ​​sinn tagradh dùinte.
  • Tha PySide air a chruthachadh le Nokia, agus PyQt le RiverBank.
  • Bidh PySide a ’sàbhaladh duilgheadas dhuinn a bhith a’ cleachdadh STR a h-uile uair a bhios sinn a ’cleachdadh QString gach aon de na stuthan QT.

Is urrainn dhuinn mion-fhiosrachadh a thoirt mu na h-atharrachaidhean iomlan Aqui.

Ullachadh:

Bidh sinn a ’stàladh Qt:

Ma tha distro againn le Kde bu chòir na tha a dhìth oirnn a bhith againn mu thràth, mura h-eil:

sudo apt-faigh stàladh qt4-dev-tools

Bidh sinn a ’stàladh PySide:

sudo apt-get install pyside pyside-tools

A ’chiad tagradh Python + QT againn

Bidh sinn a ’dol chun neach-deasachaidh teacsa as fheàrr leinn, tha mi a’ moladh gun stàlaich thu sublime-text2, ach faodaidh tu am fear as fheàrr leat a chleachdadh, agus bidh sinn a ’taipeadh a’ chòd a leanas agus ga shàbhaladh leis an ainm a tha sinn an-còmhnaidh a ’crìochnachadh leis an leudachadh" .py " , Sàbhalaidh mi mar app1.py:

3

Faic an Còd

Bidh sinn ga ruith bhon consol mar seo:

python app1.py

Bu chòir don uinneag seo nochdadh

 

2

 

Dè? A-mhàin sin, oir mura robh agad ach consol roimhe, dè a tha thu a ’gearan? Dè bha thu a ’dùileachadh, Erp? thig air duine airson rudeigin a ’tòiseachadh.

A-nis mìnichidh sinn an còd:

from PySide.QtGui import *

from sys import exit, argv

An seo tha sinn a ’toirt a-steach na modalan riatanach airson coileanadh PySide.

app = QApplication(argv)

Bidh sinn a ’cruthachadh an eisimpleir Qapplication leis an aplacaid ainm.

window = Qwidget()

Bidh sinn a ’cruthachadh eisimpleir QWidget ().

window.setWindowTitle("Primera App PySide")

Bidh sinn a ’cur an gnìomh an dòigh setWindowTitle, a gheibh String mar pharamadair gus tiotal an Qwidget againn a“ shuidheachadh ”.

window.show()

Bidh sinn a ’sealltainn an uinneag againn

exit(app.exec_())

mu dheireadh tha sinn a ’cur an gnìomh a’ chearcall neo-chrìochnach de chur gu bàs ar QApplication ().

Gracias

Tapadh leibh airson an fheadhainn a lean mi an seo agus a tha air a bhith feumail. Airson an ath oideachadh mìnichidh mi mar a dhealbhaicheas sinn na h-uinneagan againn le QT Designer agus an cuir a-steach do na pròiseactan againn.

A bharrachd air an sin, bidh mi a ’cur a’ cheangal ris an fhòram bho linux far a bheil cuspair beag agam le leabharlann beag de chlasaichean oideachaidh agus stiùiridhean python, anns a bheil diofar theirmean a tha a ’toirt a-steach:

Clasaichean-oideachaidh bunaiteach Python

WxPython

PyQt agus PySide

Django

lìn 2Py

Prògramadh saidheansail ann am python.

Agus mòran a bharrachd.

CEANGAL GU AN FÒRAM

Tha mi an dòchas gu bheil iad a ’toirt seirbheis dhut, tha mi ag ràdh soraidh slàn, mar tha e an-còmhnaidh na thoileachas a bhith a’ buntainn ris a ’choimhearsnachd mhìorbhaileach seo.

 


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

41 bheachd, fàg do chuid fhèin

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh. Feum air achaidhean air an comharrachadh le *

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.

  1.   @ earbsa17 thuirt

    Taing airson an dreuchd!

  2.   Annubais thuirt

    2 rud:

    1. Cha deach Qt a leasachadh an toiseach le Nokia, ach le Trolltech, a chaidh a cheannach le Nokia an dèidh sin. An uairsin reic an fheadhainn mu dheireadh Qt ri Digia.
    2. Chan eil an ìomhaigh anns a ’chiad eisimpleir tagraidh a’ freagairt ris a ’chòd.

    Taing airson an oideachadh, leanaidh mi e 🙂

    1.    F3niX thuirt

      Tha thu gu tur ceart gun do chaill mi e. Agus an dàrna rud a tha thu ceart cuideachd, is e gun do dh ’atharraich mi e gus a dhèanamh nas fhasa agus gun a bhith a’ cleachdadh clas agus chaill mi am mion-atharrachadh, mearachdan luchd-tòiseachaidh. Bidh mi mu thràth a ’dol seachad air na ceartachaidhean airson cuid de neach-deasachaidh gus an ceadachadh.

    2.    F3niX thuirt

      Chan urrainn dhomh atharrachadh, bidh mi ga fhàgail aig cuid de neach-deasachaidh.

      Taing.

      1.    neysonv thuirt

        Cuir post-d gu neach-deasachaidh leis an oideachadh ceartaichte. faodaidh tu a chuir gu post-d @nano a tha mar aon de na luchd-deasachaidh
        mailto: nano.world.contact@gmail.com
        na fàg an oideachadh mar seo
        thaobh

  3.   Gearmailteach thuirt

    Tha aon rud a ’bualadh orm: carson a bhios tu a’ cleachdadh “from import *” anns a ’chòd agad?

    Tapadh leibh!

    1.    F3niX thuirt

      Is e seo an dòigh cheart air ion-phortadh, nuair a bheir thu a-steach mar seo innsidh tu dha dè an seòrsa sònraichte den mhodal a tha thu airson a thoirt a-steach, agus cha bhith thu ag ainmeachadh a ’mhodal gu lèir.

      Taing.

      1.    Gearmailteach thuirt

        Tha an seòrsa troimh-chèile sin agam. A bharrachd air an sin, chan eilear ga mholadh ann am PEP8:

        "Bu chòir in-mhalairt cairt fiadhaich (bho in-mhalairt modal *) a sheachnadh, oir tha iad ga dhèanamh soilleir dè na h-ainmean a tha an làthair anns an ainm-àite, a’ cur dragh air an dà chuid leughadairean agus mòran innealan fèin-ghluasadach ... "

        1.    F3niX thuirt

          Tha mi air mo stiùireadh sa mhòr-chuid le còdan proifeasanta, leithid Ninja-Ide, chì thu an còd an seo: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyTha e air a dhèanamh ann am PyQt cuideachd, ach ann an dòigh sam bith chan eil dad ann a bheir ort aon fhoirm no an tè eile a chleachdadh.

          An seo chì thu deasbad air StackOverflow, mu dheidhinn seo:

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

          An sin tha iad a ’toirt iomradh air na buannachdan agus na mì-bhuannachdan a thaobh gach fear de na stoidhlichean.

          1.    F3niX thuirt

            ceart gu leòr duilich Cha do thuig mi thu, tha fios agam air sin, cha do rinn mi e a-mhàin oir cha robh mi a ’dol a thoirt seachad mìneachadh air gach eileamaid QApplication, QWidget, an uairsin coitcheannachadh ach tha thu gu tur ceart.

            Gabh mo leisgeul airson a ’mhì-thuigse.

          2.    Gearmailteach thuirt

            Chan e, cha do thuig thu no cha tug thu aire dhut ... tha mi a ’ciallachadh a bhith a’ cleachdadh «bho import import *», is e sin, tha mi a ’ciallachadh an« reult »... anns an dreuchd StackOverflow sin tha iad a’ bruidhinn mu rudeigin eile, ach tha iad fhathast a ’cur cuideam air:

            "Gabhar ris an aon dòigh, ach na cleachd bho in-mhalairt modal *."

            A bheil e air a thuigsinn a-nis?

          3.    felipe thuirt

            Tha Gearmailtis ceart. Dè an cleachdadh a th ’ann bho in-mhalairt modal ma bheir thu a-steach a h-uile susbaint leis an asteric, airson a’ mhodal in-mhalairt sin. Slds post a cheart cho snog.

          4.    Gearmailteach thuirt

            Ahh uill, a-nis tha mi a ’tuigsinn ... co-dhiù, na toir mi ro fhada, tha mi cuideachd nam neach-tòiseachaidh ann am Python. Ma thèid thu tron ​​bhlog agam, chì thu gun do rinn mi post coltach riut fhèin ach le Gtk + 3 a ’cleachdadh PyGObject.

            Beannachdan agus taing!

        2.    F3niX thuirt

          An seo tha mi a ’fàgail am Pep8, ann an Spàinntis a’ moladh cleachdadh im
          Tha e glè neo-fhaicsinneach in-mhalairt dàimheach a chleachdadh gus còd a thoirt a-steach bho phacaid. Cleachd an-còmhnaidh slighe iomlan a ’phacaid airson gach toirt a-steach. Fiù ‘s a-nis gu bheil PEP 328 [7] air a làn bhuileachadh ann am Python 2.5, tha cleachdadh in-mhalairt dàimheach air a mhì-mhisneachadh; tha in-mhalairt iomlan nas so-ghiùlain agus mar as trice nas so-leughaidh.

          Nuair a bheir thu a-steach clas bho mhodal, mar as trice tha e ceart seo a dhèanamh
          bho myclass import MyClass
          bho foo.bar.yourclass import YourClass

          Tapadh leibh!

          1.    dhunntair thuirt

            Leugh seo: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided

            Tha Alex Martelli (prìomh leasaiche py) a ’moladh rudeigin mar seo:


            from PyQt4 import QtCore, QtGui

  4.   msx thuirt

    Bha mi ag iarraidh barrachd, oir nuair an 2na pàirt!?
    Beannachdan 🙂

  5.   ùine 3000 thuirt

    Clasaichean-oideachaidh fìor mhath, agus is dòcha gum biodh e nas comhfhurtail prògramadh.

  6.   dhunntair thuirt

    Seo eisimpleir de eadar-aghaidh bhon toiseach (gun a bhith a ’cleachdadh QtDesigner).

    https://github.com/xr09/metrocontador

    1.    F3niX thuirt

      Tha an app dhunter sàr-mhath, an seo chan eil fios againn eadhon dè a chosgas iad oirnn airson dealan, beannachdan haha.

      1.    dhunntair thuirt

        Tapadh leibh, is e aon de na h-aplacaidean sin a bhios aon a ’dèanamh airson cleachdadh pearsanta agus a’ frithealadh dhaoine eile. An seo ann an Cuba tha an cuidhteas air a liostadh leis an ìre, tha e furasta lethbhreac a dhèanamh den algorithm.

  7.   Jose Eloy thuirt

    Bidh mi gu math mothachail air a ’chùrsa seo. Tha ùidh air a bhith agam ann an tagraidhean tar-àrd-ùrlar airson ùine mhòr agus tha mi a ’smaoineachadh gu bheil am measgachadh Python + QT / Pyside na dheagh roghainn. Beannachdan agus meala-naidheachd airson an iomairt

  8.   Bryan Rodriguez thuirt

    Lean mi a h-uile ceum dìreach mar a chanas tu ach nuair a ruitheas mi an aplacaid app1.py anns an inneal-crìche tha e ag innse dhomh Traceback (a ’ghairm as ùire mu dheireadh):
    Faidhle "app1.py", loidhne 1, a-steach
    bho in-mhalairt PySide.QtGui *
    ImportError: Chan eil modal ann leis an ainm PySide.QtGui. Airson dè tha seo?.

    1.    felipe thuirt

      tha sin air sgàth gu bheil thu a ’cleachdadh dreach de python mar an eadar-theangair àbhaisteach, ach chan eil pyside agad air a chuir a-steach airson an dreach sin.

      Feuch ri cuir ris aig toiseach an fhaidhle:
      #! usr / bin / python3
      no eile
      #! usr / bin / python2

      Tha mi a ’moladh gun cleachd thu Eclipse le pydev agus an eadar-theangair a rèiteachadh gu math.
      slds

      1.    felipe thuirt

        #! / usr / bin / python3
        no eile
        #! / usr / bin / python2

        1.    F3niX thuirt

          Chan eil PySide fhathast co-chòrdail ri Python3, bi faiceallach le sin, agus san dàrna àite, thoir sùil air an in-mhalairt tron ​​consol python eadar-ghnìomhach, gus am bi fios agad gu bheil thu air a chuir a-steach no nach eil, bidh e cuideachd a ’stàladh pip.

          1.    Bryan Rodriguez thuirt

            Ciamar a nì mi dearbhadh air?

          2.    F3niX thuirt

            Ann an consol cleachd "Python", co-dhiù tha mi a ’moladh dhut a dhol a-steach don leabharlann a dh’ fhàg mi gu h-ìosal sa phost agus luchdaich sìos "python airson a h-uile duine", feumaidh tu barrachd bonn.

            Beannachdan agus fortan.

          3.    Bryan Rodriguez thuirt

            Mòran taing, bha e gu math cuideachail dhomh.

          4.    Mauricio Tobares thuirt

            coimhead caraid F3niX Lorg mi seo, tha e coltach, airson python 3.3.2 air uinneagan (is e sin a th ’agam gus an ath sheachdain) gu bheil binaries aca airson 32 buillean agus 64 buillean, dh’ fheuch mi an eisimpleir agad agus bidh e ag obair le python 3.3.2 agus Bidh mi a ’cleachdadh The PyScripter a bhios a’ stàladh diofar àrainneachdan, ma dh ’fhosglas tu am python 3 ruithidh e na sgriobtaichean mar python 3 agus ma dh’ fhosglas tu an 2.7 bidh e gan cur an gnìomh mar 2.7 agus mar sin air adhart (gu loidsigeach feumaidh tu an dreach sin de python a chuir a-steach ... tha e air a thuigsinn)

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

            Fàgaidh mi sin thu, gossip, is dòcha gun toir e seirbheis do chuideigin eile 😀

      2.    Bryan Rodriguez thuirt

        Gheibh mi an aon mhearachd.

        1.    Gearmailteach thuirt

          A bheil PySide air a chuir a-steach?

          1.    Bryan Rodriguez thuirt

            Tha mi air a chuir a-steach.

        2.    felipe thuirt

          Agus feuch le PyQT4 stàlaich e agus an uairsin atharraich na loidhnichean PySide airson PyQT4 no PyQt4, agus thoir air ruith. jojo. Cleachd an eclipse. Luck.

          1.    Bryan Rodriguez thuirt

            Ciamar a nì mi sin ?.

  9.   karlinux thuirt

    Tapadh leat gu mòr !!! A ’feitheamh ris an dàrna caibideil

    1.    F3niX thuirt

      Airson an Dihaoine seo is dòcha gun foillsich mi e (Tha an t-oilthigh beagan làn agam) beannachdan.

  10.   MauricioTobares thuirt

    Caraid F3nIX Tha mi a ’feitheamh ris an oideachadh agad N ° 2, 3, 4… N hehehe

    Tha an linux fìor ghrinn agam mu thràth air a chuir a-steach le PySide a ’feitheamh agus a h-uile càil!

    Chì sinn cuin a bhios e air a bhrosnachadh gus oide ùr a shealltainn show

    1.    F3niX thuirt

      Gabh mo leisgeul caraid, tha e agam ann an dreachan ach cha tug obair agus sgrùdaidhean ùine dhomh, tha mi a ’gealltainn rudeigin fhaighinn a-mach an t-seachdain seo.

      Beannachd mhòr

  11.   Dante thuirt

    Halo, tha ùidh air a bhith agam ann a bhith ag ionnsachadh Python airson ùine mhòr ach tha beagan teagamhan agam. Is e na tha mi ag iarraidh tagradh a dhèanamh gus beagan a leasachadh pròiseas fiosrachaidh gnìomhachas an teaghlaich far a bheil mi ag obair, bu mhath leam rudeigin a dhèanamh airson uinneagan, le uinneagan an toiseach, dh ’obraicheadh ​​e uile air aon pc agus an uairsin gun urrainn dha a bhith ceangailte tron ​​eadar-lìn ris an stòr-dàta ris am biodh coimpiutair no dhà a ’ceangal. Tha tòrr iomadachd ann a thaobh GUIing an tagradh agus tha sin gam fhàgail dizzy. Dè a tha thu a ’moladh gus sealladh ùr-nodha agus tarraingeach a thoirt dha? Dhèanadh mi cuideachd cuid de ghrafaichean staitistigeil agus aithisgean clò-bhualaidh, dè as urrainn dhomh a chleachdadh airson sin? Slàinte

  12.   Jorge thuirt

    Halo, glè mhath, an dreuchd agad, tha ceist agam, am b ’urrainn dhomh an aplacaid agam a chaidh a dhèanamh le pyside a reic gun duilgheadas sam bith?

    1.    F3niX thuirt

      Uill, tha ceadan an-còmhnaidh meallta, ach leigidh ceadan bathar-bog an-asgaidh leat bathar-bog a reic, is e na thachras gu bheil an GPL a ’toirt ort an còd a sgaoileadh, eu-coltach ris an LGPL, nach eil a’ toirt ort sin a dhèanamh.

      Ann an suidheachadh sam bith, chan eil mi nam eòlaiche air ceadachd.

      Taing.