Dingana voalohany amin'ny Python + Qt # 1

Ity fampianarana ity dia mifantoka amin'ny fampianarana ny fampiasana ny rafitra QT amin'ny fampiasana Python ho fiteny fandaharana, noho izany dia afaka mampiasa PySide sy PyQt isika, fa amin'ity lesona ity dia hampiasa PySide isika satria ny mpanoratra an'ity fampianarana ity dia tia kokoa ny licence LGPL PySide. noho ny GPL na PyQt Commercial.

Voalohany ... Inona no atao hoe Python?

Araka ny Wikipedia:

"Python dia fiteny fandefasana fandaharana avo lenta avo indrindra izay ny filozofia dia manantitrantitra ny syntax madio sy mahomby amin'ny kaody mora vakiana."

Python dia fiteny fampandehanana marobe, ka manohana ny paradigma samihafa amin'ny fandaharana python, ohatra, manohana izy: Objective oriented Programming (OOP), Imperative Programming (Structured) ary amin'ny farafahakeliny Fandaharana miasa.

Izay ihany?

Tsia, fiteny fanoratana mavitrika ihany koa izy io, izay midika fa mamela antsika hanolotra karazana soatoavina isan-karazany amin'ny fiovana iray ihany ny python mandritra ny fanatanterahana ny programa, ny sasany mahita azy ho tombony, ny hafa ho fatiantoka, jereo ho anao.

Ho fanampin'izay efa voalaza, Python dia mamela antsika (toy ny maro hafa), mandahatra fandaharana na amin'ny tontolon'ny tranonkala na amin'ny birao an-tranonkala, dia cross-platform ihany koa izy io, amin'izao fotoana izao dia manohana an'i Gnu / Linux, Windows, Mac osx, Android (Raha mila manonona azy ireo ianao amin'ny fanovana).

Inona ny QT?

QT dia rafitra multiplatform, novokarin'ny Nokia tany am-boalohany, hamidy taty aoriana amin'ny Digia, izay ampiasaina amin'ny fampivoarana ny fampiharana, voasoratra amin'ny C ++, fa azo ampiasaina amin'ny fiteny hafa amin'ny alàlan'ny Bindings (raha ny momba anay PySide na PyQt)

Ny fahasamihafana misy eo amin'ny PySide sy PyQt

indrindra

  • Fahazoan-dàlana, fahazoan-dàlana PySide ambanin'ny fe-potoan'ny LGPL ary PyQT dia eo ambanin'ny fehezin'ny GPL na eo ambanin'ny fahazoan-dàlana ara-barotra, noho izany dia mila mandoa izahay raha toa ka mamorona fampiharana mihidy.
  • PySide dia noforonin'i Nokia, ary PyQt avy amin'ny RiverBank.
  • PySide dia mamonjy antsika amin'ny olana amin'ny fampiasana STR isaky ny mampiasa ny QString an'ny tsirairay amin'ireo zavatra QT isika.

Azontsika atao ny manisy tsipiriany momba ireo fanovana feno Aquí.

fiomanana:

Mametraka Qt izahay:

Raha manana distro amin'i Kde isika dia tokony efa manana izay ilaintsika, raha tsy izany:

sudo apt-mahazo mametraka qt4-dev-fitaovana

Mametraka PySide izahay:

sudo apt-get install pyside pyside-tools

Ny fampiharana Python + QT voalohany anay

Manantona ny tonian-dahatsoratray ankafizinay izahay, mamporisika anao hametraka soratra-ambony2 ianao, fa azonao ampiasaina ilay tianao, ary soratinay ity kaody manaraka ity ary tehirizinay amin'ilay anarana tianay hofaranana hatrany amin'ilay fanitarana ".py", hataoko Tehiriziko ho app1.py:

3

Jereo kaody

Izahay dia mihazakazaka amin'ny console toy izao:

python app1.py

Tokony hiseho ity varavarankely ity

 

2

 

Inona izany? Izay ihany, satria raha nanana console fotsiny ianao teo aloha, inona no itarainanao? Inona no antenainao, Erp? tongava amin'ny olona fa misy zavatra manomboka.

Andao hazavao ny kaody:

from PySide.QtGui import *

from sys import exit, argv

Eto izahay dia manafatra ireo maody ilaina amin'ny fanatanterahana ny PySide.

app = QApplication(argv)

Izahay dia mamorona ny ohatra Qapplication miaraka amin'ny fampiharana fampiharana.

window = Qwidget()

Izahay dia mamorona ohatra an'i QWidget ().

window.setWindowTitle("Primera App PySide")

Izahay dia manatanteraka ny fomba setWindowTitle, izay mahazo String ho masontsivana "hametraka" ny lohatenin'ny Qwidget anay.

window.show()

Mampiseho ny varavarankely izahay

exit(app.exec_())

farany manatanteraka ny tsingerina tsy manam-petra amin'ny fampiharana ny QApplication () izahay.

Gracias

Misaotra an'ireo nanaraka ahy teto ary nahasoa. Ho an'ny lesona manaraka dia hazavaiko ny fomba famolavolana ny fikandrana amin'ny QT Designer ary ampidirina ao amin'ny tetikasanay.

Ho fanampin'izay, ampiako ny rohy mankany amin'ny forum avy amin'ny linux izay misy lohahevitra kely misy famakiam-boky momba ny tutorial sy torolàlana python kely, izay misy teny samihafa ao anatin'izany:

Fampianarana fototra Python

WxPython

PyQt sy PySide

Django

Web2Py

Fandaharana siantifika amin'ny python.

Ary maro hafa.

Rohy mankany amin'ny FORUM

Manantena aho fa hanompo anao izy ireo, hoy aho veloma, satria fahafinaretana ho anisan'ity vondrom-piarahamonina mahafinaritra ity.

 


Ny atin'ny lahatsoratra dia manaraka ny fitsipiky ny etika fanonta. Raha hitatitra tsindry diso eto.

41 hevitra, avelao ny anao

Avelao ny hevitrao

Ny adiresy email dia tsy ho namoaka. Mitaky saha dia marika amin'ny *

*

*

  1. Tompon'andraikitra amin'ny data: Miguel Ángel Gatón
  2. Tanjon'ny angona: Control SPAM, fitantanana hevitra.
  3. Legitimation: Ny fanekenao
  4. Fifandraisana momba ny angona: Tsy hampitaina amin'ny antoko fahatelo ny angona raha tsy amin'ny adidy ara-dalàna.
  5. Fitehirizana angona: Database nomen'ny Occentus Networks (EU)
  6. Zo: Amin'ny fotoana rehetra, azonao atao ny mametra, mamerina ary mamafa ny mombamomba anao.

  1.   @ fahatokisana17 dia hoy izy:

    Misaotra amin'ny lahatsoratra!

  2.   Annubis dia hoy izy:

    Zavatra 2:

    1. Ny Qt dia tsy novolavolain'i Nokia tamin'ny voalohany, fa i Trolltech, izay novidian'ny Nokia taty aoriana. Ity farany avy eo namidy ny Qt tamin'i Digia.
    2. Ny sary ao amin'ny ohatra fampiharana voalohany dia tsy mifanaraka amin'ny kaody.

    Misaotra ny tutorial, hanaraka azy aho 🙂

    1.    F3niX dia hoy izy:

      Marina tanteraka ny anao fa malahelo azy aho. Ary ny zavatra faharoa mety aminao koa dia ny nanovako azy mba hahamora kokoa ahy ary tsy hampiasa kilasy ary tsy azoko ny fanovana, lesoka vao manomboka. Efa nandalo ny fanitsiana aho mba hanaiky ny mpamoaka lahatsoratra sasany.

    2.    F3niX dia hoy izy:

      Tsy afaka manova aho, avelako ho an'ny tonian-dahatsoratra sasany.

      Fiarahabana.

      1.    neysonv dia hoy izy:

        Mandefasa mailaka amin'ny tonian-dahatsoratra miaraka amin'ny tutorial voahitsy. azonao atao ny mandefa izany amin'ny mailaka an'i @nano izay iray amin'ireo mpamoaka lahatsoratra
        mailto: nano.world.contact@gmail.com
        azafady aza avela ny tutorial toa izao
        jerena

  3.   Anarana dia hoy izy:

    Zavatra iray manaitra ahy: nahoana ianao no mampiasa "avy any import *" ao amin'ny kaody?

    Misaotra!

    1.    F3niX dia hoy izy:

      Io no fomba marina hanafarana, rehefa manafatra toa izao dia lazao azy hoe inona ny sokajy manokana amin'ilay maody tianao ampidirina, ary tsy miantso ilay maody feno ianao.

      Fiarahabana.

      1.    Anarana dia hoy izy:

        Mahagaga ahy izany karazana izany. Ankoatr'izay, tsy soso-kevitra ao amin'ny PEP8 izany:

        "Tokony hialana ny fanafarana wildcard (avy amin'ny mody import *), satria ataon'izy ireo tsy mazava izay anarana misy ao amin'ny namespace, ka afangaro ny mpamaky sy ny fitaovana mandeha ho azy ..."

        1.    F3niX dia hoy izy:

          Ny kaody matihanina no nitarihana ahy matetika, toy ny Ninja-Ide, azonao jerena eto ny kaody: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyVita amin'ny PyQt ihany koa io, fa na amin'ny fomba ahoana na amin'ny fomba ahoana dia tsy misy na inona na inona manery anao hampiasa endrika iray na iray hafa.

          Eto ianao dia afaka mahita fifanakalozan-kevitra ao amin'ny StackOverflow, momba an'io:

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

          Miresaka momba ny lafy tsarany sy ny lafy tsaran'izy ireo izy ireo.

          1.    F3niX dia hoy izy:

            azafady azafady fa tsy azoko ianao, fantatro fa, nataoko fotsiny izany satria tsy hanome fanazavana momba ny singa QApplication tsirairay avy aho, QWidget, avy eo manaparitaka fa marina tanteraka ianao.

            Azafady ny tsy fahazoan-kevitra.

          2.    Anarana dia hoy izy:

            Tsia, tsy takatrao na tsy noraharahianao ... ny tiako holazaina dia ny fampiasana «avy amin'ny module import *», izany hoe, ny «asterisk» no tiako holazaina ... ao anatin'ilay lahatsoratr'i StackOverflow dia miresaka zavatra hafa izy ireo, saingy mbola manantitrantitra izany ihany:

            "Azo ekena ny fomba rehetra, fa aza mampiasa avy amin'ny modely import *."

            Takatra ve izao?

          3.    Felipe dia hoy izy:

            Marina ny teny alemanina. Inona no ilain'ny fampidirana mody raha manafatra ny atiny rehetra amin'ny asterika ianao, ho an'io modely fampidirana io. Slds toy ny lahatsoratra mahafinaritra ihany.

          4.    Anarana dia hoy izy:

            Ahh, azoko izao… na izany aza, aza ela loatra aho, vao manomboka koa ao Python aho. Raha mitsidika ny bilaogiko ianao dia ho hitanao fa nanao lahatsoratra mitovy amin'ny anao aho saingy niaraka tamin'i Gtk + 3 nampiasa PyGObject.

            Miarahaba sy misaotra!

        2.    F3niX dia hoy izy:

          Eto aho dia avelako ny Pep8, amin'ny teny Espaniola mandrisika ny fampiasana im
          Tena tsy takatra ny fampiasana import hafarana hanafarana kaody avy amin'ny fonosana. Ampiasao lalandava ny fonosana ho an'ny fanafarana rehetra. Na amin'izao fotoana izao aza fa ny PEP 328 [7] dia ampiharina tanteraka ao amin'ny Python 2.5, ny fampiasàna ny fanafarana somary afara dia kivy tanteraka; Ny fanafarana tanteraka dia azo entina ary mora vakina kokoa.

          Rehefa manafatra kilasy amin'ny maodilo dia matetika no marina ny manao izany
          avy amin'ny myclass import MyClass
          avy amin'ny foo.bar.yourclass manafatra YourClass

          Reply with quote

          1.    hunter dia hoy izy:

            Vakio ity: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided

            Alex Martelli (developer py voalohany) dia manolotra zavatra toy izao:


            from PyQt4 import QtCore, QtGui

  4.   msx dia hoy izy:

    Te hanana bebe kokoa aho, amin'ny oviana ny fizarana faharoa!?
    Miarahaba 🙂

  5.   eliotime3000 dia hoy izy:

    Fampianarana tena tsara, ary mety ho ahazoana aina kokoa ny fandaharana.

  6.   hunter dia hoy izy:

    Ity misy ohatra iray amin'ny interface avy amin'ny rangotra (tsy mampiasa QtDesigner).

    https://github.com/xr09/metrocontador

    1.    F3niX dia hoy izy:

      Ny app dhunter dia tsara, eto izahay tsy fantatsika akory hoe ohatrinona no ampandoavin'izy ireo anay amin'ny herinaratra, miarahaba anao.

      1.    hunter dia hoy izy:

        Misaotra anao, io dia iray amin'ireo fampiharana izay ampiasain'ny olona hampiasaina manokana sy hanompoana ny hafa. Eto Kiobà dia voamarina miaraka amin'ny taha ny takiana, mora ny maka tahaka ilay algorithm.

  7.   Jose Eloy dia hoy izy:

    Ho hitako tsara ity taranja ity. Efa ela aho no liana tamin'ny fanaovana rindranasa cross-platform ary mieritreritra aho fa ny fiarahan'ny Python + QT / Pesaan dia safidy mety. Miarahaba sy miarahaba anao noho ny fandraisana andraikitra

  8.   Bryan Rodriguez dia hoy izy:

    Nanaraka ny dingana rehetra araka ny nolazainao aho fa rehefa mihazakazaka ny app1.py fampiharana ao amin'ny terminal aho dia milaza amiko Traceback (antso farany natao farany):
    Apetraho ny "app1.py", andalana 1, ao
    avy amin'ny fanafarana PySide.QtGui *
    ImportError: Tsy misy modely antsoina hoe PySide.QtGui. Fa inona izany ?.

    1.    Felipe dia hoy izy:

      izany dia noho ianao mampiasa kinova python ho mpandika teny tsy fantatra, saingy tsy manana ambanivohitra napetraka ho an'io kinova io ianao.

      Andramo ampiana eo am-piandohan'ny rakitra:
      #! usr / bin / python3
      raha tsy izany
      #! usr / bin / python2

      Manoro hevitra anao aho hampiasa Eclipse miaraka amin'ny pydev ary hamboarinao tsara ny mpandika teny.
      slds

      1.    Felipe dia hoy izy:

        #! / usr / bin / python3
        raha tsy izany
        #! / usr / bin / python2

        1.    F3niX dia hoy izy:

          PySide dia mbola tsy mifanaraka amin'ny Python3, mitandrema amin'izany, ary faharoa, zahao ireo fanafarana amin'ny alàlan'ny console python interactive, mba hahafantaranao fa nametraka azy ianao na tsia, mametaka pip ihany koa izy.

          1.    Bryan Rodriguez dia hoy izy:

            Ahoana no hanamarinako azy?

          2.    F3niX dia hoy izy:

            Ao amin'ny console dia ampiasao ny "Python", na izany aza, mamporisika anao aho hiditra ny tranomboky izay navelako etsy ambany tao amin'ny lahatsoratra ary hisintona "python ho an'ny rehetra", mila base bebe kokoa ianao.

            Miarahaba anao ary mirary soa.

          3.    Bryan Rodriguez dia hoy izy:

            Misaotra betsaka, tena nanampy ahy izy io.

          4.    Mauricio Tobares dia hoy izy:

            jereo ny namana F3niX hitako io, toa ho an'ny python 3.3.2 amin'ny windows (izay no ananako hatramin'ny herinandro ambony) manana binary 32 bit sy 64 bit izy ireo, nanandrana ny ohatra nataonao aho ary miasa amin'ny python 3.3.2 ary ampiasaiko ny PyScripter izay mametraka tontolo samihafa, raha manokatra ny python 3 ianao dia mihazakazaka ny script toa ny python 3 ary raha manokatra ny 2.7 ianao dia manatanteraka azy ireo ho 2.7 sy ny sisa (lojika tsy maintsy apetrakao io kinovan'ny python io ... takatra izany)

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

            Avelako eo ianao, mifosa, mety hanompo olon-kafa 😀

      2.    Bryan Rodriguez dia hoy izy:

        Mahazo izany lesoka izany ihany aho.

        1.    Anarana dia hoy izy:

          Manana PySide napetraka ve ianao?

          1.    Bryan Rodriguez dia hoy izy:

            Napetrako io.

        2.    Felipe dia hoy izy:

          Ary andramo amin'ny PyQT4 hametraka azy ary avy eo ovao ny tsipika PySide ho an'ny PyQT4 na PyQt4, ary omeo izany. jojo. Ampiasao ny fanakona-masoandro. Vintana.

          1.    Bryan Rodriguez dia hoy izy:

            Ahoana no anaovako izany ?.

  9.   karlinux dia hoy izy:

    Misaotra indrindra anao !!! Miandry ny toko faharoa

    1.    F3niX dia hoy izy:

      Ho an'ity zoma ity dia azoko atao ny mamoaka izany (arahabaina kely aho).

  10.   MauricioTobares dia hoy izy:

    Namana F3nIX Miandry ny fampianarana anao aho N ° 2, 3, 4… N hehehe

    Izaho dia efa manana ny linux tena kanto napetraka miaraka amin'ny PySide miandry sy ny zava-drehetra!

    Andao hojerentsika rehefa amporisihina izy hampiseho mpampianatra vaovao 😀

    1.    F3niX dia hoy izy:

      Azafady, ry namako, manana izany amin'ny volavolan-dalàna aho fa tsy nanome fotoana ahy ny asa sy ny fianarana, mampanantena aho fa hivoaka zavatra amin'ity herinandro ity.

      Fiarahabana lehibe

  11.   Dante dia hoy izy:

    Salama, efa ela aho no liana nianatra Python fa manana fisalasalana ihany aho. Ny tadiaviko dia ny manao rindranasa hanatsarana kely ny fizotry ny fampahalalana momba ny orinasam-pianakaviana izay iasako, te-hanao zavatra ho an'ny varavarankely aho, miaraka am-baravarankely amin'ny voalohany, mety miasa amin'ny solosaina tokana izany ary avy eo afaka mifandray amin'ny Internet. mankany amin'ny tahiry izay hifandraisan'ny solosaina roa. Betsaka ny fahasamihafana eo amin'ny lafiny GUIing ilay rindrambaiko ary izany dia mahatonga ahy ho manina. Inona no ampirisihinao hanomezana azy endrika maoderina sy manintona? Hanao sary statistika sy tatitra pirinty ihany koa aho, inona no azoko ampiasaina amin'izany? mahafaly

  12.   Jorge dia hoy izy:

    Salama, tsara ny hafatrao, manana fanontaniana aho. Azoko atao ve ny mivarotra ny rindrambaiko noforonina tamina tanàna ambanivohitra nefa tsy nisy olana?

    1.    F3niX dia hoy izy:

      Adala foana ny fahazoan-dàlana, fa ny fahazoan-dàlana rindrambaiko maimaim-poana koa dia mamela anao hivarotra lozisialy, ny mitranga dia manery anao hizara ilay kaody ny GPL, tsy toy ny LGPL, izay tsy manery anao hanao izany.

      Na izany na tsy izany dia tsy manam-pahaizana momba ny fahazoan-dàlana aho.

      Fiarahabana.