Šī apmācība ir vērsta uz QT ietvara lietošanas mācīšanu, izmantojot Python kā programmēšanas valodu, šim nolūkam mēs varam izmantot gan PySide, gan PyQt, taču šajā apmācībā mēs izmantosim PySide, jo šīs apmācības autoram labāk patīk LGPL PySide licence. nekā GPL vai PyQt Commercial.
Pirmkārt ... Kas ir Python?
Saskaņā ar Wikipedia:
"Python ir ļoti augsta līmeņa interpretēta programmēšanas valoda, kuras filozofija uzsver ļoti tīru sintaksi un veicina lasāmu kodu."
Python ir multipadradigmas programmēšanas valoda, tāpēc tā atbalsta dažādas pitona programmēšanas paradigmas, piemēram, atbalsta: Object Oriented Programming (OOP), Imperative Programming (Strukturētu) un mazākā mērā Funkcionālo programmēšanu.
Tikai to, ka?
Nē, tā ir arī dinamiska rakstīšanas valoda, kas nozīmē, ka pitons ļauj programmas izpildes laikā vienam un tam pašam mainīgajam piešķirt dažāda veida vērtības, daži to uzskata par priekšrocību, citi par trūkumu, pārliecinieties paši.
Papildus iepriekšminētajam, Python ļauj mums (tāpat kā daudziem citiem) programmēt gan tīmekļa vidē, gan tīmekļa darbvirsmā, tas ir arī starpplatforms, pašlaik tas atbalsta Gnu / Linux, Windows, Mac osx, Android (ja jums tas jāpiemin modifikācija).
Kas ir QT?
QT ir daudzplatformu ietvars, kuru sākotnēji izstrādāja Nokia, un vēlāk tas tiks pārdots Digia, kas tiek izmantots lietojumprogrammu izstrādei, tas ir rakstīts C ++, bet ar Bindings starpniecību var tikt izmantots citās valodās (mūsu gadījumā PySide vai PyQt )
Atšķirības starp PySide un PyQt
Galvenokārt
- Licence, PySide ir licencēta saskaņā ar LGPL noteikumiem, un PyQT ir saskaņā ar GPL noteikumiem vai saskaņā ar komerciālu licenci, tāpēc mums būtu jāmaksā, ja izveidojat slēgtu lietojumprogrammu.
- PySide izveido Nokia, bet PyQt - RiverBank.
- PySide ietaupa problēmas ar STR izmantošanu katru reizi, kad mēs izmantojam katra QT objekta QString.
Mēs varam detalizēti norādīt visas izmaiņas Here.
Sagatavošana:
Mēs instalējam Qt:
Ja mums ir dispečers ar Kde, mums jau vajadzētu būt vajadzīgajam, ja ne:
sudo apt-get install qt4-dev-tools
Mēs instalējam PySide:
sudo apt-get install pyside pyside-tools
Mūsu pirmā Python + QT lietojumprogramma
Mēs dodamies uz mūsu iecienīto teksta redaktoru, es iesaku jums instalēt sublime-text2, bet jūs varat izmantot vēlamo kodu, un mēs ierakstām šādu kodu un saglabājam to ar nosaukumu, kuru mēs vēlamies vienmēr beigties ar paplašinājumu ".py", es Saglabāšu kā app1.py:
Mēs to darbinām no konsoles šādi:
python app1.py
Šim logam vajadzētu parādīties
Kas? Tikai tas, jo, ja jums iepriekš bija tikai konsole, par ko jūs sūdzaties? Ko jūs gaidījāt, Erp? nāc uz cilvēku, kaut kas sākas.
Tagad paskaidrosim kodu:
from PySide.QtGui import *
from sys import exit, argv
Šeit mēs importējam PySide izpildei nepieciešamos moduļus.
app = QApplication(argv)
Mēs izveidojam Qapplication gadījumu ar nosaukumu app.
window = Qwidget()
Mēs izveidojam QWidget () instanci.
window.setWindowTitle("Primera App PySide")
Mēs izpildām metodi setWindowTitle, kas saņem virkni kā parametru, lai "iestatītu" mūsu Qwidget virsrakstu.
window.show()
Mēs parādām savu logu
exit(app.exec_())
visbeidzot, mēs izpildām mūsu QApplication () bezgalīgo izpildes ciklu.
Gracias
Paldies par tiem, kas sekoja man šeit un bija noderīgi. Nākamajai apmācībai es paskaidrošu, kā veidot logus ar QT Designer un importēt tos mūsu projektos.
Adicional mente les añado el link al foro de desde linux donde tengo un pequeño tema con una pequeña biblioteca de tutoriales y guías de python, que contiene diferentes termas que incluyen:
Pamata Python apmācības
wxPython
PyQt un PySide
Django
web2py
Zinātniskā programmēšana pitonā.
Un vēl daudz vairāk.
Es ceru, ka viņi jums kalpo, es atvados, kā vienmēr prieks piederēt šai brīnišķīgajai kopienai.
Paldies par ierakstu!
2 lietas:
1. Sākotnēji Qt izstrādāja nevis Nokia, bet gan Trolltech, kuru vēlāk iegādājās Nokia. Pēc tam pēdējais pārdeva Qt Digia.
2. Attēls pirmajā lietojumprogrammas piemērā neatbilst kodam.
Paldies par apmācību, es to ievērošu 🙂
Jums ir pilnīga taisnība, man tas pietrūka. Otra lieta, kas jums arī ir taisnība, ir tā, ka es to mainīju, lai atvieglotu un neizmantotu klasi, un es nokavēju modifikāciju, iesācēju kļūdas. Es jau nododu labojumus, lai daži redaktori tos apstiprinātu.
Es nevaru modificēt, es to atstāju redaktora ziņā.
Sveicieni.
Nosūtiet redaktoram pa e-pastu ar laboto apmācību. To varat nosūtīt uz @nano e-pastu, kurš ir viens no redaktoriem
mailto: nano.world.contact@gmail.com
lūdzu, neatstājiet apmācību šādi
vēlējumiem
Mani pārsteidz viena lieta: kāpēc jūs savā kodā izmantojat “from import *”?
Sveicieni!
Tas ir pareizs importēšanas veids, importējot šādi, jūs sakāt, kāda konkrēta moduļa klase ir jāimportē, un jūs nezvanāt uz visu moduli.
Sveicieni.
Man tas liekas mulsinoši. Turklāt PEP8 nav ieteicams:
"Jāizvairās no aizstājējzīmju importēšanas (no moduļu importēšanas *), jo tas padara neskaidru, kuri nosaukumi atrodas nosaukumvietā, sajaucot gan lasītājus, gan daudzus automatizētus rīkus ..."
Esmu vadījies galvenokārt pēc profesionāliem kodiem, piemēram, Ninja-Ide, kodu varat redzēt šeit: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyTas tiek darīts arī PyQt, taču nekādā veidā nekas neliek izmantot vienu vai otru veidlapu.
Šeit jūs varat redzēt diskusiju par StackOverflow par šo:
http://stackoverflow.com/questions/710551/import-module-or-from-module-import
Tur viņi min katra stila plusus un mīnusus.
labi žēl, ka es tevi nesapratu, es to zinu, es to izdarīju tikai tāpēc, ka negrasījos sniegt paskaidrojumu par katru elementu QApplication, QWidget, pēc tam vispārināt, bet tev ir pilnīga taisnība.
Atvainojiet pārpratumu.
Nē, jūs nesapratāt vai nepievērsāt uzmanību ... es domāju lietot «no moduļa importēšanas *», tas ir, es domāju «zvaigznīti» ... tajā StackOverflow ierakstā viņi runā par kaut ko citu, taču viņi to joprojām uzsver:
"Abas metodes ir pieņemamas, taču neizmantojiet no moduļu importēšanas *."
Vai tagad to saprot?
Vācietim ir taisnība. Kāda ir no moduļu importēšanas izmantošana, ja importējat visu importētā moduļa saturu ar zvaigznīti. Slds tikpat jauks ieraksts.
Ahh nu, tagad es saprotu ... vienalga, neaizņem mani pārāk ilgi, es arī esmu Python iesācējs. Pārlūkojot manu emuāru, jūs redzēsiet, ka es izveidoju jums līdzīgu ziņu, bet ar Gtk + 3, izmantojot PyGObject.
Sveiciens un paldies!
Šeit es atstāju Pep8, spāņu valodā iesakot lietot im
Kodu importēšanai no pakotnes ir ļoti ieteicams izmantot relatīvo importu. Visam importam vienmēr izmantojiet paketes absolūto ceļu. Pat tagad, kad PEP 328 [7] ir pilnībā ieviests Python 2.5 versijā, relatīvā importa izmantošana ir nopietni neiespējama; absolūtais imports ir pārnēsājamāks un parasti lasāmāks.
Importējot klasi no moduļa, parasti tas ir pareizi
no myclass importējiet MyClass
no vietnes foo.bar.yourclass importējiet YourClass
Sveicieni
Lasi šo: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided
Alex Martelli (galvenais py izstrādātājs) iesaka kaut ko līdzīgu šim:
from PyQt4 import QtCore, QtGui
Es gribēju vairāk, jo kad 2. daļa!?
Sveiciens 🙂
Ļoti labas konsultācijas, arī varētu būt ērtāk programmēt.
Šeit ir saskarnes piemērs no nulles (neizmantojot QtDesigner).
https://github.com/xr09/metrocontador
Hantera lietotne ir lieliska, šeit mēs pat nezinām, cik daudz viņi mums prasa par elektrību, haha sveicieni.
Paldies, tā ir viena no tām lietotnēm, kas tiek veidota personīgai lietošanai un kalpo citiem. Šeit Kubā kvīts ir detalizēts ar likmi, algoritmu ir viegli nokopēt.
Es ļoti labi zināšu šo kursu. Mani jau ilgu laiku interesē starpplatformu lietojumprogrammas, un es domāju, ka Python + QT / Pyside kombinācija ir lieliska iespēja. Sveicieni un apsveikumi ar iniciatīvu
Es izpildīju visas darbības tieši tā, kā jūs sakāt, bet, palaižot lietojumprogrammu app1.py terminālā, tā man paziņo Traceback (pēdējais zvans pēdējais):
Fails "app1.py", 1. rindiņa
no PySide.QtGui importa *
ImportError: Nav moduļa ar nosaukumu PySide.QtGui. Kas tas ir?
tas ir tāpēc, ka jūs kā noklusējuma tulku izmantojat pitona versiju, taču šai versijai nav instalēts pyside.
Mēģiniet pievienot faila sākumā:
#! usr / bin / python3
vai arī
#! usr / bin / python2
Es iesaku jums izmantot Eclipse ar pydev un labi konfigurēt tulku.
slds
#! / usr / bin / python3
vai arī
#! / usr / bin / python2
PySide vēl nav saderīgs ar Python3, esiet uzmanīgs ar to un, otrkārt, pārbaudiet importēšanu, izmantojot interaktīvo python konsoli, lai jūs zināt, ka esat to instalējis vai nē, tas arī instalē pip.
Kā to pārbaudīt?
Konsolē izmantojiet "Python", vienalga es iesaku jums ierakstīt bibliotēku, kuru atstāju zemāk ierakstā, un lejupielādēt "Python for everyone", jums ir nepieciešama lielāka bāze.
Sveiciens un veiksme.
Liels paldies, tas man bija ļoti noderīgs.
izskatās draugs F3niX Es to atradu, šķiet, ka Python 3.3.2 uz Windows (kas man ir līdz nākamajai nedēļai) viņiem ir bināri 32 biti un 64 biti, es izmēģināju jūsu piemēru, un tas darbojas ar python 3.3.2 un Es izmantoju PyScripter, kas instalē dažādas vides, ja atverat python 3, skripti tiek palaisti kā Python 3 un, atverot 2.7, tie tos izpilda kā 2.7 un tā tālāk (loģiski, ka šī python versija ir jāinstalē ... tas ir saprotams)
http://qt-project.org/wiki/PySide_Binaries_Windows
Es tevi atstāšu, tenkas, varbūt tas kalpos kādam citam 😀
Man rodas tā pati kļūda.
Vai jums ir instalēta PySide?
Man tas ir instalēts.
Izmēģiniet PyQT4, instalējiet to un pēc tam mainiet PySide līnijas uz PyQT4 vai PyQt4 un ļaujiet tai darboties. džojo. Izmantojiet aptumsumu. Veiksme.
Kā lai es to izdaru?.
Liels paldies !!! Gaida otro nodaļu
Par šo piektdienu es drīkstu publicēt apsveikumus (Universitāte man ir mazliet pilna)
Draugs F3nIX Es gaidu jūsu apmācību Nr. 2, 3, 4 ... N hehehe
Man jau ir instalēts mans ļoti elegantais Linux ar PySide gaidīšanu un viss!
Paskatīsimies, kad viņš tiek mudināts parādīt jaunu pasniedzēju 😀
Atvainojiet, draugs, man tas ir melnrakstos, bet darbs un studijas man nav devuši laiku, es apsolu šonedēļ kaut ko iegūt.
Liels sveiciens
Sveiki, mani jau sen interesē apgūt Python, bet man ir šaubas. Es vēlos izveidot lietojumprogrammu, lai nedaudz uzlabotu ģimenes uzņēmuma, kurā es strādāju, informācijas procesu. Es gribētu kaut ko darīt logiem, vispirms ar logiem, tas viss darbotos vienā datorā un pēc tam caur internetu jābūt savienotam ar datu bāzi, kurai pievienotos pāris datori. Lietojumprogrammas GUIing ziņā ir daudz dažādu, un tas man reibst. Ko jūs iesakāt piešķirt tai modernu un pievilcīgu izskatu? Es arī izveidotu dažus statistikas grafikus un izdrukātu pārskatus, ko es tam varu izmantot? Priekā
Sveiki, ļoti labi, jūsu ziņa, man ir jautājums. Vai es varu bez problēmām pārdot savu lietotni, kas izveidota ar pyside?
Nu, licences vienmēr ir trakas, taču bezmaksas programmatūras licences ļauj arī pārdot programmatūru, notiek tas, ka GPL piespiež jūs izplatīt kodu, atšķirībā no LGPL, kas jums to nepiespiež.
Jebkurā gadījumā es neesmu licencēšanas eksperts.
Sveicieni.