Matakan Farko tare da Python + Qt # 1

Wannan koyarwar tana mai da hankali ne kan koyar da amfani da tsarin QT ta amfani da Python a matsayin yaren shirye-shirye, saboda wannan zamu iya amfani da PySide da PyQt, amma a cikin wannan koyarwar zamuyi amfani da PySide saboda marubucin wannan koyarwar ya fi son LGPL PySide lasisi mafi kyau. fiye da GPL ko PyQt Kasuwanci.

Na farko ... Menene Python?

A cewar Wikipedia:

"Python babban yare ne mai fassarar shirye-shirye wanda falsafar sa ke karfafa rubutu mai tsafta kuma yana son lambar da za'a iya karantawa."

Python yare ne na shirye-shirye masu yawa, don haka yana tallafawa misalan shirye-shiryen Python daban-daban, misali yana tallafawa: Shirye-shiryen Shirye-shiryen Buga (OOP), Shirye-shiryen Shirye-shirye masu Tsara (Tsara Tsara Tsara) da kuma ƙaramar aikin Aiki.

Wannan kawai?

A'a, shima yaren buga rubutu ne mai motsawa, wanda ke nufin cewa Python yana bamu damar sanya nau'ikan dabi'u iri daban-daban a daidai lokacin aiwatar da shirin, wasu suna ganin hakan a matsayin fa'ida, wasu kuma rashin fa'ida, duba da kanka .

Baya ga abin da aka ambata, Python yana ba mu damar (kamar sauran mutane), shirye-shirye a cikin yanayin yanar gizo da kuma a kan tebur na yanar gizo, shi ma dandamali ne, a halin yanzu yana tallafawa Gnu / Linux, Windows, Mac osx, Android (Idan kuna buƙatar ambata su don ku gyara).

Menene QT?

QT tsarin tsari ne da yawa, wanda kamfanin Nokia ne ya kirkireshi, don daga baya a siyar dashi ga Digia, wanda ake amfani dashi don ci gaban aikace-aikace, an rubuta shi a C ++, amma ana iya amfani dashi a wasu yaruka ta hanyar Bindings (a wajen mu PySide ko PyQt )

Bambanci tsakanin PySide da PyQt

Ainihin

  • Lasisi, PySide yana da lasisi a ƙarƙashin sharuɗɗan LGPL kuma PyQT yana ƙarƙashin sharuɗɗan GPL ko ƙarƙashin lasisin kasuwanci, don haka muna buƙatar biya idan muna ƙirƙirar aikace-aikacen da aka rufe.
  • PySide Nokia ce ta ƙirƙiri PySide, kuma PyQt ta hanyar RiverBank.
  • PySide yana kiyaye mana matsalar amfani da STR duk lokacin da muke amfani da QString na kowane abubuwan QT.

Zamu iya yin cikakken bayani game da canje-canje Wanda.

Shiri:

Mun shigar Qt:

Idan muna da distro tare da Kde ya kamata mu riga mun sami abin da muke buƙata, idan ba haka ba:

sudo apt-samun shigar qt4-dev-kayan aikin

Mun shigar da PySide:

sudo apt-get install pyside pyside-tools

Python na Farko + Aikace-aikacen QT

Mun je editan rubutun da muka fi so, ina ba da shawarar cewa ka sanya madaidaiciya-rubutu2, amma zaka iya amfani da wanda ka fi so, kuma mun rubuta lambar mai zuwa sannan mu adana shi da sunan da muke so koyaushe ya ƙare da tsawo ".py", zan Zan ajiye azaman app1.py:

3

Duba Lambar

Muna gudanar da shi daga na'ura mai kwakwalwa kamar haka:

python app1.py

Wannan taga ya kamata ya bayyana

2

Wancan? Wancan kawai, domin idan da a da kuna da na'urar bidiyo a baya, me kuke gunaguni? Me kuke tsammani, Erp? zo kan mutum, wani abu ya fara.

Yanzu bari muyi bayanin lambar:

from PySide.QtGui import *

from sys import exit, argv

Anan mun shigo da matakan da suka dace don aiwatar da PySide.

app = QApplication(argv)

Mun ƙirƙiri misalin Misali tare da sunan aikace-aikace.

window = Qwidget()

Mun kirkiro misalin QWidget ().

window.setWindowTitle("Primera App PySide")

Muna aiwatar da hanyar setWindowTitle, wanda ke karɓar Kirtani azaman ma'auni don "saita" taken Qwidget ɗinmu.

window.show()

Muna nuna taga

exit(app.exec_())

a ƙarshe zamu aiwatar da zagayen aiwatarwa na QApplication dinmu ().

Gracias

Na gode da wadanda suka bi ni a nan kuma suka kasance masu amfani. Domin darasi na gaba zanyi bayanin yadda ake tsara windows dinmu da QT Designer da shigo dasu cikin ayyukan mu.

Bugu da ƙari, na ƙara hanyar haɗi zuwa dandalin tattaunawa desde linux inda nake da ƙaramin jigo mai ƙaramin ɗakin karatu na koyarwa da jagorori, mai ɗauke da kalmomi daban-daban da suka haɗa da:

Basic Python koyawa

wxPython

PyQt da PySide

Django

Yanar 2Py

Shirye-shiryen kimiyya a cikin Python.

Kuma da yawa.

LINK DAGA DUNIYA

Ina fatan zasu yi muku hidima, ina faɗin ban kwana, kamar yadda koyaushe na kasance mai farin cikin kasancewa cikin wannan kyakkyawar al'umma.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   @ aminu17 m

    Godiya ga post!

  2.   Annubi m

    Abubuwa 2:

    1. Qt ba kamfanin Nokia bane ya kirkireshi, sai dai kamfanin Trolltech, wanda daga baya Nokia ta siya. Daga baya sai ya sayar da Qt ga Digia.
    2. Hoton a farkon aikace-aikacen misali baiyi daidai da lambar ba.

    Na gode da darasin, zan bi shi 🙂

    1.    f3niX m

      Kina da gaskiya na rasa shi. Kuma abu na biyu kai ma kayi daidai, shine na canza shi ne don sauƙaƙawa kuma banda amfani da aji kuma na rasa gyara, kurakuran masu farawa. Na riga na wuce gyaran ga wasu edita don su yarda da su.

    2.    f3niX m

      Ba zan iya gyaggyarawa ba, na bar shi ga wasu edita.

      Na gode.

      1.    Neyonv m

        Imel edita tare da gyaran koyawa. Kuna iya aika shi zuwa imel ɗin @nano wanda yana ɗaya daga cikin editocin
        mailto: nano.world.contact@gmail.com
        don Allah kar a bar darasin kamar haka
        gaisuwa

  3.   Bajamushe m

    Abu daya ya same ni: me yasa kake amfani da "daga shigowa *" a cikin lambarka?

    Na gode!

    1.    f3niX m

      Hanya ce madaidaiciya don shigowa, lokacin shigowa kamar wannan kuna gaya mata wane takamaiman rukunin tsarin da kuke son shigowa, kuma baku kiran cikakken littafin.

      Na gode.

      1.    Bajamushe m

        Na ga irin wannan yana da rudani. Bugu da ƙari, ba a ba da shawarar ba a cikin PEP8:

        "Ya kamata a guji shigo da daji (daga shigo da * *), saboda sun sa ba a san ko wanene sunaye a cikin sunan suna ba, yana rikita masu karatu da kuma kayan aiki masu sarrafa kansu da yawa ..."

        1.    f3niX m

          An tsara ni galibi ta lambobin ƙwararru, kamar Ninja-Ide, kuna iya ganin lambar a nan: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyAnyi shi a cikin PyQt kuma, amma a cikin kowane nau'i babu wani abu da zai tilasta muku amfani da nau'i ɗaya ko ɗaya.

          Anan zaku iya ganin tattaunawa akan StackOverflow, game da wannan:

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

          A can suna ambaton fa'idodi da fa'idodi na kowane salon.

          1.    f3niX m

            ok kayi nadamar ban fahimce ka ba, nasan hakan, kawai nayi hakan ne saboda ba zanyi bayani akan kowane bangare ba QApplication, QWidget, sannan kuma zancen gama baki daya amma kai kana da gaskiya.

            Gafara rashin fahimtar.

          2.    Bajamushe m

            A'a, ba ku fahimta ba ko ba ku ba da hankali ba ... Ina nufin amfani da «daga samfurin shigo da *», ma'ana, ina nufin «alama» ... a cikin wannan sakon na StackOverflow suna magana ne game da wani abu, amma har yanzu suna jaddada shi:

            "Ko wanne hanya karbabbe ne, amma kar a yi amfani da shi daga shigo da module *."

            Shin yanzu an fahimta?

          3.    Felipe m

            Jamusanci yayi gaskiya. Menene amfanin abin daga shigo da kayan kwastomomi idan kun shigo da duk abun ciki tare da burgewa, don tsarin shigarwar. Slds kamar yadda kyau post.

          4.    Bajamushe m

            Ahh da kyau, yanzu na fahimta ... duk da haka kar ku dauki ni da tsayi, ni ma dan farawa ne a Python. Idan ka bi ta shafin na, zaka ga na yi rubutu makamancin naka amma tare da Gtk + 3 ta amfani da PyGObject.

            Gaisuwa da godiya!

        2.    f3niX m

          A nan na bar Pep8, a cikin Mutanen Espanya suna ba da shawarar yin amfani da im
          Yana da matukar wuya a iya amfani da shigo da dangi don shigo da lamba daga fakiti. Koyaushe yi amfani da cikakkiyar hanyar kunshin don duk shigo da kayayyaki. Ko yanzu ma an fara aiwatar da PEP 328 [7] sosai a Python 2.5, yin amfani da shigo da dangi yana da rauni ƙwarai; yawan shigo da kaya ana iya kwashe su kuma galibi ana iya karanta su.

          Lokacin da kuka shigo da aji daga koyaushe, daidai yake yin wannan
          daga myclass shigo da MyClass
          daga foo.bar.yourclass shigo da YourClass

          gaisuwa

          1.    nisanta m

            Karanta wannan: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided

            Alex Martelli (babban mai haɓaka py) ya ba da shawarar wani abu kamar haka:


            from PyQt4 import QtCore, QtGui

  4.   msx m

    Na kasance ina son ƙari, don lokacin da kashi na 2!?
    Gaisuwa 🙂

  5.   lokacin3000 m

    Koyawa sosai, kuma yana iya zama mafi sauƙi don shiryawa.

  6.   nisanta m

    Anan akwai misali na dubawa daga karce (ba tare da amfani da QtDesigner ba).

    https://github.com/xr09/metrocontador

    1.    f3niX m

      Aikin dhunter yayi kyau, anan bamu ma san ko nawa suke karba mana na wutar lantarki ba, haha ​​gaisuwa.

      1.    nisanta m

        Na gode, yana ɗaya daga cikin waɗancan ƙa'idodin waɗanda mutum ke yin amfanin kansu da hidimtawa wasu. Anan a Cuba an saka takaddun kuɗi tare da ƙimar, yana da sauƙin kwafin algorithm.

  7.   Jose Eloy m

    Zan kasance sosai sane da wannan hanya. Ina sha'awar yin aikace-aikacen giciye na dogon lokaci kuma ina tsammanin haɗin Python + QT / Pyside babban zaɓi ne. Gaisuwa da taya murna ga qaddamarwar

  8.   Bryan Rodriguez m

    Na bi dukkan matakan daidai yadda kuka ce amma lokacin da nake gudanar da aikace-aikacen app1.py a cikin m yana gaya mani Traceback (kiran da aka yi kwanan nan ƙarshe):
    Fayil "app1.py", layi 1, a cikin
    daga PySide.QtGui shigo da *
    Shigo da Kuskure: Babu rukuni mai suna PySide.QtGui. Don menene wannan?.

    1.    Felipe m

      hakane saboda kuna amfani da sigar Python azaman mai fassara ta asali, amma baku da pyside da aka sanya wa wannan sigar.

      Gwada ƙarawa a farkon fayil ɗin:
      #! usr / bin / python3
      ko kuma
      #! usr / bin / python2

      Ina baku shawarar kayi amfani da Eclipse tare da pydev kuma ku saita mai fassara sosai.
      sldos

      1.    Felipe m

        #! / usr / bin / python3
        ko kuma
        #! / usr / bin / python2

        1.    f3niX m

          PySide bai dace da Python3 ba tukuna, yi taka tsantsan da hakan, kuma abu na biyu, yana bincika shigo da kaya ta hanyar na'ura mai kwakwalwa, don haka ka san ka girka ko a'a, shi ma yana saka pip.

          1.    Bryan Rodriguez m

            Ta yaya zan tabbatar da hakan?

          2.    f3niX m

            A cikin amfani da na'ura mai amfani da "Python", duk da haka ina ba ku shawarar ku shiga laburaren da na bari a ƙasa a cikin gidan sannan ku saukar da "Python ga kowa da kowa", kuna buƙatar ƙarin tushe.

            Gaisuwa da sa'a.

          3.    Bryan Rodriguez m

            Na gode sosai, ya taimaka min sosai.

          4.    Mauricio Tobares m

            duba aboki F3niX Na sami wannan, da alama don python 3.3.2 akan windows (wanda shine abin da nake da shi har zuwa mako mai zuwa) suna da binaries don rago 32 da ragowa 64, Na gwada misalinku kuma yana aiki tare da python 3.3.2 kuma ina amfani PyScripter wanda yake girka muhallin daban, idan ka bude Python 3 yana gudanar da rubutun kamar Python 3 kuma idan ka bude 2.7 sai ya aiwatar dasu kamar 2.7 da sauransu (a hankalce dole ne a girka wannan nau'in na Python ... an fahimta)

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

            Zan bar ku a can, tsegumi, watakila zai yiwa wani aiki 😀

      2.    Bryan Rodriguez m

        Ina samun wannan kuskuren.

        1.    Bajamushe m

          Kuna da shigar PySide?

          1.    Bryan Rodriguez m

            Na girka shi.

        2.    Felipe m

          Kuma gwada tare da PyQT4 girka shi sannan kuma canza layukan PySide don PyQT4 ko PyQt4, kuma bashi damar gudanar. jojo. Yi amfani da husufin. Sa'a.

          1.    Bryan Rodriguez m

            Ta yaya zan yi haka?.

  9.   karlinux m

    Na gode sosai !!! Jiran babi na biyu

    1.    f3niX m

      Don wannan Juma'a zan iya buga shi (Jami'a tana da ɗan ɗan cika) gaisuwa.

  10.   MauricioTobares m

    Aboki F3nIX Ina jiran darasin ku N ° 2, 3, 4… N hehehe

    Na riga an girka linka na mai matukar kyau tare da PySide yana jira da komai!

    Bari mu gani lokacin da aka karfafa shi ya nuna sabon mai koyarwa 😀

    1.    f3niX m

      Gafarta dai aboki, ina da shi a rubuce amma aiki da karatu basu bani lokaci ba, nayi alƙawarin zan fitar da wani abu a wannan makon.

      Babban gaisuwa

  11.   Dante m

    Barka dai, Ina sha'awar koyon Python na dogon lokaci amma ina da wasu shakku. Abin da nake so shi ne yin aikace-aikacen don inganta ɗan bayanin tsarin kasuwancin iyali inda nake aiki, Ina so in yi wani abu don windows, tare da windows da farko, zai yi aiki duka a kan pc guda ɗaya sannan za a iya haɗa shi ta intanet zuwa rumbun adana bayanan da wasu kwamfutoci zasu haɗa su. Akwai bambanci da yawa dangane da GUIing aikace-aikacen kuma hakan yana sanya ni cikin damuwa. Me kuke ba da shawarar don ba shi kallon zamani da jan hankali? Zan iya yin wasu zane-zane da rahotanni na bugawa, menene zan iya amfani da shi? Murna

  12.   Jorge m

    Barka dai, yayi kyau sosai, sakon ku, ina da tambaya, zan iya siyar da app dina da akayi da pyside ba tare da wata matsala ba?

    1.    f3niX m

      Da kyau, lasisi koyaushe mahaukaci ne, amma lasisin software kyauta kuma yana ba ka damar siyar da software, abin da ke faruwa shi ne GPL ya tilasta ka ka rarraba lambar, ba kamar LGPL ba, wanda ba ya tilasta maka yin hakan.

      Koyaya, Ni ba ƙwararren masani bane akan lasisi.

      Na gode.