Tämä opetusohjelma on keskittynyt QT-kehyksen käytön opettamiseen Pythonia ohjelmointikielenä, jota varten voimme käyttää sekä PySidea että PyQt: ää, mutta tässä opetusohjelmassa käytämme PySidea, koska tämän opetusohjelman kirjoittaja pitää LGPL PySide -lisenssistä paremmin. kuin GPL tai PyQt Commercial.
Ensin ... Mikä on Python?
Wikipedian mukaan:
"Python on erittäin korkeatasoinen tulkittu ohjelmointikieli, jonka filosofia korostaa erittäin puhdasta syntaksia ja edistää luettavaa koodia."
Python on multipadradigm-ohjelmointikieli, joten se tukee erilaisia python-ohjelmointiparadigmoja, esimerkiksi: Object Oriented Programming (OOP), Imperative Programming (Strukturoitu) ja vähemmässä määrin Funktionaalinen ohjelmointi.
Vain se?
Ei, se on myös dynaaminen kirjoituskieli, mikä tarkoittaa, että python antaa meille mahdollisuuden määrittää erityyppisiä arvoja samalle muuttujalle ohjelman suorituksen aikana, jotkut pitävät sitä etuna, toiset haittana, katso itse.
Edellä mainitun lisäksi Python sallii meille (kuten monille muille) ohjelmoinnin sekä verkkoympäristössä että web-työpöydällä, se on myös alustojen välinen, tällä hetkellä se tukee Gnu / Linuxia, Windowsia, Mac osxia, Androidia (jos sinun on mainittava ne muutos).
Mikä on QT?
QT on monitasoinen kehys, jonka Nokia on alun perin kehittänyt ja joka myöhemmin myydään Digialle ja jota käytetään sovelluskehitykseen, kirjoitetaan C ++: lla, mutta sitä voidaan käyttää muilla kielillä Bindingsin kautta (meidän tapauksessamme PySide tai PyQt )
PySiden ja PyQt: n erot
pääasiallisesti
- Lisenssi, PySide on lisensoitu LGPL: n ehtojen mukaisesti ja PyQT on GPL: n ehtojen tai kaupallisen lisenssin alainen, joten joudumme maksamaan, jos luomme suljetun sovelluksen.
- PySiden on luonut Nokia ja PyQt RiverBank.
- PySide säästää meille ongelmia STR: n käytöstä aina, kun käytämme jokaisen QT-objektin QStringia.
Voimme kuvata täydelliset muutokset Täällä.
Valmistelu:
Asennamme Qt:
Jos meillä on häiriö Kde: n kanssa, meillä pitäisi olla tarvitsemamme, ellei:
sudo apt-get install qt4-dev-tools
Asennamme PySide:
sudo apt-get install pyside pyside-tools
Ensimmäinen Python + QT -sovelluksemme
Käymme suosikkitekstieditorissamme, suosittelen, että asennat sublime-text2, mutta voit käyttää haluamaasi, ja kirjoitamme seuraavan koodin ja tallennamme sen nimellä, jonka haluamme aina päättyvän laajennukseen ".py", aion Tallennan nimellä app1.py:
Suoritamme sitä konsolista näin:
python app1.py
Tämän ikkunan pitäisi tulla näkyviin
Mitä? Ainoa, koska jos sinulla olisi ollut vain konsoli aiemmin, mistä valitat? Mitä odotit, Erp? tule mies, jotain alkaa.
Selitetään nyt koodi:
from PySide.QtGui import *
from sys import exit, argv
Tuodaan tässä tarvittavat moduulit PySide-suoritusta varten.
app = QApplication(argv)
Luomme Qapplication-ilmentymän nimisovelluksella.
window = Qwidget()
Luomme QWidget () -esiintymän.
window.setWindowTitle("Primera App PySide")
Suoritamme setWindowTitle-menetelmän, joka vastaanottaa merkkijonon parametrina Qwidgetin otsikon "asettamiseksi".
window.show()
Näytämme ikkunamme
exit(app.exec_())
lopuksi suoritamme QA-sovelluksemme () loputon suoritussykli.
kiitos
Kiitos niille, jotka ovat seuranneet minua täällä ja ovat olleet hyödyllisiä. Seuraavaa opetusohjelmaa varten selitän, kuinka suunnitella ikkunamme QT Designerilla ja tuoda ne projektiisi.
Lisäksi lisään linkin foorumille desde linux jossa minulla on pieni teema, jossa on pieni kirjasto python-opetusohjelmia ja -oppaita, jotka sisältävät erilaisia termejä, mukaan lukien:
Pythonin perusoppaat
wxPython
PyQt ja PySide
Django
web2py
Tieteellinen ohjelmointi pythonissa.
Ja paljon muuta.
Toivon, että he palvelevat sinua, sanon hyvästit, kuten aina ilo kuulua tähän upeaan yhteisöön.
Kiitos viestistä!
2 asiaa:
1. Qt: ta ei alun perin kehittänyt Nokia, vaan Trolltech, jonka Nokia myöhemmin osti. Jälkimmäinen myi sitten Qt: n Digialle.
2. Ensimmäisen sovellusesimerkin kuva ei vastaa koodia.
Kiitos opetusohjelmasta, seuraan sitä 🙂
Olet aivan oikeassa, kaipasin sitä. Ja toinen asia, jonka olet myös oikeassa, on se, että muutin sen helpottamiseksi enkä käyttänyt luokkaa ja kaipasin muutos-, aloittelijavirheet. Välitin jo joidenkin toimittajien korjaukset hyväksyä ne.
En voi muokata, jätän sen jollekin editorille.
Tervehdys.
Lähetä korjattu opetusohjelma editorille. Voit lähettää sen sähköpostiosoitteeseen @nano, joka on yksi toimittajista
mailto: nano.world.contact@gmail.com
älä jätä opetusohjelmaa näin
terveiset
Yksi asia saa minut mieleen: miksi käytät koodissasi "from import *"?
Tervehdys!
Se on oikea tapa tuoda, kun tuot näin, kerrot sille, minkä luokan moduulista haluat tuoda, etkä soita koko moduuliin.
Tervehdys.
Minusta sellainen sekava. Lisäksi sitä ei suositella PEP8: ssa:
"Jokerimerkkien tuontia (moduulien tuonnista *) tulisi välttää, koska niiden vuoksi on epäselvää, mitkä nimet ovat nimitilassa, mikä hämmentää sekä lukijoita että monia automaattisia työkaluja ..."
Olen ohjannut enimmäkseen ammattikoodeja, kuten Ninja-Ide, näet koodin täältä: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pySe tehdään myös PyQt: ssä, mutta millään tavalla mikään ei pakota sinua käyttämään yhtä tai toista lomaketta.
Täällä voit nähdä StackOverflow-keskustelun tästä:
http://stackoverflow.com/questions/710551/import-module-or-from-module-import
Siellä he mainitsevat kunkin tyylin hyvät ja huonot puolet.
ok pahoillani en ymmärtänyt sinua, tiedän sen, tein sen vain, koska en aio antaa selitystä jokaiselle QApplication, QWidget -elementille, joten yleistä, mutta olet aivan oikeassa.
Anteeksi väärinkäsitys.
Ei, et ymmärtänyt tai et kiinnittänyt huomiota ... tarkoitan käyttävän «moduulin tuonnista *», ts. «Tähtiä» ... siinä StackOverflow-viestissä, jossa he puhuvat jostakin muusta, mutta he silti korostavat sitä:
"Kumpikin menetelmä on hyväksyttävä, mutta älä käytä moduulin tuonnista *."
Ymmärretäänkö se nyt?
Saksa on oikeassa. Mitä hyötyä moduulien tuonnista on, jos tuot kaiken sisällön tähdellä tuontimoduulille. Slds yhtä hyvä viesti.
Ahh, nyt ymmärrän ... joka tapauksessa, älä vie minua liian kauan, olen myös aloittelija Pythonissa. Jos käydään blogissani läpi, huomaat, että tein samanlaisen viestin kuin sinun, mutta Gtk + 3: lla PyGObjectia käyttäen.
Terveisiä ja kiitoksia!
Täällä jätän Pep8: n espanjaksi suosittelemalla im: n käyttöä
On erittäin suositeltavaa käyttää suhteellista tuontia koodin tuontiin paketista. Käytä aina paketin absoluuttista polkua kaikkeen tuontiin. Jopa nyt, kun PEP 328 [7] on täysin toteutettu Python 2.5: ssa, suhteellisen tuonnin käyttöä ei suositella vakavasti; absoluuttinen tuonti on kannettavampaa ja yleensä luettavampaa.
Kun tuot luokan luokasta moduulista, se on yleensä oikein tehdä
myclassista tuo MyClass
tuoda YourClass osoitteesta foo.bar.yourclass
terveiset
Lue tämä: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided
Alex Martelli (ydin py-kehittäjä) suosittelee jotain tällaista:
from PyQt4 import QtCore, QtGui
Halusin lisää, koska kun 2. osa!?
Terveisiä 🙂
Erittäin hyvät opetusohjelmat, ja se voi olla mukavampaa ohjelmoida.
Tässä on esimerkki käyttöliittymästä tyhjästä (käyttämättä QtDesigneria).
https://github.com/xr09/metrocontador
Dhunter-sovellus on erinomainen, täällä emme edes tiedä, kuinka paljon he veloittavat meiltä sähköä, haha terveisiä.
Kiitos, se on yksi niistä sovelluksista, jotka tehdään henkilökohtaiseen käyttöön ja palvellaan muita. Täällä Kuubassa kuitti on eritelty kurssin mukaan, algoritmi on helppo kopioida.
Olen hyvin tietoinen tästä kurssista. Olen ollut kiinnostunut alustojen välisistä sovelluksista pitkään ja mielestäni Python + QT / Pyside -yhdistelmä on loistava vaihtoehto. Onnittelut ja onnittelut aloitteesta
Seurasin kaikkia vaiheita täsmälleen niin kuin sanoit, mutta kun suoritan app1.py -sovelluksen terminaalissa, se kertoo minulle Tracebackin (viimeisin puhelu viimeisin):
Tiedosto "app1.py", rivi 1, sisään
PySide.QtGui-tuonnista *
ImportError: Ei PySide.QtGui-nimistä moduulia. Mitä tämä on?
Tämä johtuu siitä, että käytät python-versiota oletustulkkina, mutta pysideä ei ole asennettu tälle versiolle.
Yritä lisätä tiedoston alkuun:
#! usr / bin / python3
tai muuten
#! usr / bin / python2
Suosittelen, että käytät Eclipseä pydevin kanssa ja määrität tulkin hyvin.
alialuetunnuksia
#! / Usr / bin / python3
tai muuten
#! / Usr / bin / python2
PySide ei ole vielä yhteensopiva Python3: n kanssa, ole varovainen sen suhteen ja toiseksi tarkista tuonti interaktiivisen python-konsolin kautta, jotta tiedät, että sinulla on se asennettuna tai ei, se asentaa myös pipin.
Kuinka voin vahvistaa sen?
Konsolissa "Python" -käyttöä varten suosittelen joka tapauksessa, että kirjoitat kirjastoon, jonka jätin alapuolelle viestiin, ja lataa "python kaikille", tarvitset lisää tukiasemaa.
Terveisiä ja onnea.
Paljon kiitoksia, se oli minulle erittäin hyödyllinen.
Katso ystävä F3niX Löysin tämän, näyttää siltä, että python 3.3.2: lla Windowsissa (mitä minulla on ensi viikkoon saakka) heillä on binääriä 32 bittiä ja 64 bittiä, kokeilin esimerkkiäsi ja se toimii python 3.3.2: n kanssa Käytän PyScripteriä, joka asentaa erilaisia ympäristöjä, jos avaat python 3: n, se suorittaa komentosarjat python 3: na ja jos avaat 2.7: n, se suorittaa ne nimellä 2.7 ja niin edelleen (loogisesti sinulla on oltava pythonin versio asennettuna ... se on ymmärretty)
http://qt-project.org/wiki/PySide_Binaries_Windows
Jätän sinut sinne, juorut, ehkä se palvelee jotakuta muuta 😀
Saan saman virheen.
Onko sinulla PySide asennettuna?
Olen asentanut sen.
Kokeile PyQT4: tä, asenna se ja vaihda sitten PySide-linjat PyQT4: ksi tai PyQt4: ksi ja anna sen suorittaa. jojo. Käytä pimennystä. Onnea.
Kuinka teen sen?
Kiitos paljon !!! Odotetaan toista lukua
Tänä perjantaina voin julkaista sen (Yliopistossa on minulle vähän täynnä) terveisiä
Ystävä F3nIX Odotan opetusohjelmasi nro 2, 3, 4… N hehehe
Minulla on jo asennettu erittäin tyylikäs linuxi, PySide odottaa ja kaikki!
Katsotaanpa, milloin häntä kannustetaan näyttämään uusi ohjaaja 😀
Anteeksi ystäväni, minulla on se luonnoksissa, mutta työ ja opiskelu eivät ole antaneet minulle aikaa, lupaan saada jotain tällä viikolla.
Suuri tervehdys
Hei, olen ollut kiinnostunut Pythonin oppimisesta pitkään, mutta epäilen. Haluan tehdä sovelluksen, jolla parannetaan hieman perheyrityksen tietoprosessia, jossa työskentelen, haluaisin tehdä jotain ikkunoille, Windowsin aluksi, se toimisi kaikki yhdellä tietokoneella ja sitten se voisi olla yhteydessä Internetin kautta tietokantaan, johon muutama tietokone olisi yhteydessä. Sovelluksen käyttöliittymien suhteen on paljon monimuotoisuutta ja se saa minut huimaamaan. Mitä suosittelisit antamaan sille modernin ja viehättävän ilmeen? Tein myös joitain tilastokaavioita ja tulostan raportteja, mitä voin käyttää siihen? Kippis
Hei, erittäin hyvä viesti, minulla on kysymys. Voinko myydä pysidellä tehdyn sovellukseni ilman mitään ongelmia?
Lisenssit ovat aina hulluja, mutta ilmaisten ohjelmistolisenssien avulla voit myös myydä ohjelmistoja. GPL pakottaa sinut jakamaan koodia, toisin kuin LGPL, mikä ei pakota sinua tekemään niin.
Joka tapauksessa en ole lisensointiasiantuntija.
Tervehdys.