Wiki Markup |
---|
!http://cdn3.afterdawn.fi/v3/news/qt_logo_.png|border=1,width=122,height=122!
[Qt|http://qt.nokia.com] on [Trolltechin|http://doc.trolltech.com/4.2/trolltech.html] tekemä käyttöliittymien ja ohjelmakoodin totetukseen tarkoitettu työkalu. Trolltech on nykyään Nokia Oy:n omistuksessa. Qt:stä on avoin versio [LGPL|http://www.gnu.org/copyleft/lesser.html], jolla voi tehdä omia sovelluksia. Esimerkiksi Ubuntuun Qt kannattaa ladata pakettienhallinnan avulla, jolloin se ja sen lisäosat asentuvat oikein. [Qt Creator|http://qt.nokia.com/products/developer-tools] on ns. Cross-Platform Qt IDE (Integrated Development Environment). Qt Creatorilla voi tehdä sovelluksia Linuxiin, Windowsiin, Macille sekä älypuhelimille. Lisäksi tuotetut softat kääntyvät useille laitealustoille.
* [Get the Nokia Qt SDK|http://wl4.peer360.com/b/OK3wubeWEKt8ylcPEQj4/mle.asp?hl=85886808&CID=111487]
* [Download Qt learning materials and Getting Started Guides|http://wl4.peer360.com/b/OK3wubeWEKt8ylcPEQj4/mle.asp?hl=85886808&CID=111488]
* [Attend Qt Trainings and submit your app to Calling All Innovators North America|http://wl4.peer360.com/b/OK3wubeWEKt8ylcPEQj4/mle.asp?hl=85886808&CID=111489]
* [Explore Qt Quick in the latest Qt 4.7|http://wl4.peer360.com/b/OK3wubeWEKt8ylcPEQj4/mle.asp?hl=85886808&CID=111490] (tämä on kehitysversio ja on todennäköisesti tuettu seuraavassa Nokia Qt SDK:ssa)
* [koulutusmateriaalia|http://qt.nokia.com/services-partners/qt-in-education/qt-in-education-course-material]
# [Perusteita]
# [Tapahtumaperustainen ohjelmointi]
# [Dialogin liukupalkin arvon luku muuttujaan]
# [QMake ja MOC]
# [Dialogin toteutus ohjelmallisesti ilman Qt Designeria], layout jne.
# [Dialogi graafisella editorilla|Dialogi graafisella editorilla]
# [Signaalit ja slotit], yksinkertainen esimerkki
# Esimerkki c-tiedoston kutsumisesta, [liukuva keskiarvo]
# [Validator, double int jne.]
# [Vain haluttujen merkkien hyväksyminen dialogissa, (regular expression, säännälliset lauseet)|Vain haluttujen merkkien hyväksyminen dialogissa]ja oma luokka dialogille
# [Heksadesimaalinen SpinBox]
# [QTimer esimerkki]
# [Tilakone]
# [Qt tietorakenteet, QVector, QLinkedList, QList, QMap]
# [Korrelaation laskenta]
# [Lineaarinen regressio]
# [Splitter eli näytön jakaja]
# [Asynkroniset säikeet], simppeli esimerkki
# [Malli mittaus- ja käyttöliittymäsäikeistä]
# [Qwt esimerkkejä], Qwt on Qt-laajennos, joka sisältää teknisiin sovelluksiin X-Y-näyttöjä, mittareita, nappeja ja muita juttuja
# [Tietokannan käsittelyä]
# [Harjoitustehtävät]
# [c+\+ tutorial|http://www.cplusplus.com/files/tutorial.pdf]
# [Modbus testing software (requires login)|https://tietohallinto.metropolia.fi/display/koneautomaatio/Modbus+testing+software]
# [koneautomaatio:Veneenohjaussimulaattorin päivitys]
# [Ohjelmakuvakkeen lisääminen (Testattu Windowsissa)|Ohjelmakuvakkeen lisääminen (Testattu Windowsissa)]
# [Advantech USB-4716 Qt ympäristössä (Debian 4.0)|koneautomaatio:Advantech USB-4716 Qt ympäristössä (Debian 4.0)]
# [Demo akun varauksesta, kaytosta ja latauksesta (mm. animaatioita, alustana windows)|koneautomaatio:Demo akun varauksesta, kaytosta ja latauksesta (mm. animaatioita, alustana windows)]
# [Qt VS2008 framework Windows \-ympäristössä|koneautomaatio:Qt VS2008 framework Windows -ympäristössä]
# [Qwt-laajennus Qt VS2008 framework Windows \-ympäristössä|koneautomaatio:Qwt-laajennus Qt VS2008 framework Windows -ympäristössä]
# [Analogwidgets-laajennus Qt VS2008 framework Windows \-ympäristössä|koneautomaatio:Analogwidgets-laajennus Qt VS2008 framework Windows -ympäristössä]
# [koneautomaatio:Animaatioesimerkit]
# [Ympäristö ristikääntäjälle, Cross-Platform Environment|Ympäristö ristikääntäjälle, Cross-Platform Environment]
# Suunnittele luokkamalli koneelle. Luokka Kone koostuu luokista Toimilaite ja Prosessi. Toimilaite koostaa luokan Liikeanturi ja VoimaAnturi. Nämä luokat taas perivät luokan Anturi. Tee luokista ensin UML-malli Dia:lla ja sitten Qt:llä.
# Muokkaa mallia siten, että teet luokan dialogi ja laitat sen jäseneksi luokan Kone. Periytä Kone luokasta QThread.
# Korjaa Dialla tekemä malli edellisen tehtävän mukaiseksi.
# Lisää anturille jäsenet double vahvistus, double offset, double tulo, double tuloSiYksikkona, double taarattuTuloSiYksikkona, double KeskiarvoistusVektori\[10\], i , int paikkaVektorissa, double Summa
# Tee käyttöliittymään nappi MittaaTulo ja sille Dialog luokkaan slot Mittaa. Laita myös LineEdit tai lcd, josta voit lukea mitatun arvon.
# Tee Dialog luokkaan signaali MittaaTulonArvo.
# Tee luokkaan Anturi slot void PaivitaTulo();
# Yhdistä signaali MittaaTulonArvo slotiin PaivitaTulo.
# Emitoi (lähetä) signaali MittaaTulonArvo käyttöliittymän slotissa Mittaa.
# Tee luokkaan Anturi signaali LahetaMitattuArvo(double) ja ota se vastaan käyttöliittymässä.
|| ui || Dialog || || Anturi ||
| MittaaTulo-> \\ | \->Mittaa | | |
| | MittaaTulonArvo-> | | \->PaivitaTulo |
| | ArvonNaytto<\- \\ | | <\- LahetaMitattuArvo(double) |
# Laita jokin arvo emitoimaasi signaaliin LahetaMitattuArvo(double) ja testaa, että arvo tulee näytölle.
# Tee käyttöliittymään Horizontal Slider ja välitä se signaali - slot mekanismilla Anturi\- luokan muuttujaan tulo.
# Tee Anturi-luokkaan funktio Paivita. Kutsu tätä edellisessä tehtävässä tekemästäsi slotista.
# Laita Paivita - funktion sisällöksi tuloSiYksikkona=tulo*vahvistu+offset;
# Testaa, että vahvistettu tulo tulee näytölle.
# Tee Umbrello \-ohjelmalla UML-malli tähän asti tekemästäsi softasta.
# Tässä tehtävässä toteutamme asynkronisen säikeen, joka lukee anturia ja lähettää signaalilla tiedon käyttöliittymälle. Tee Kone luokkaan run-funktio ja siihen forever toistorakenne. Katso mallia [säikeistetystä ohjelmasta.|http://wiki.metropolia.fi/pages/viewpage.action?pageId=14687120]| //tämä luokan esittelyyn |
| QTime displayUpdateTimer; |
| forever |
| { |
| //Tähän anturin tiedon laskenta |
| if (NayttoAjastin.elapsed() > Paivitysaika) |
| { |
| Nayttoajastin.restart(); |
| emit LahetaAnturinTiedot(Arvo); |
| } |
| } |
# Tee esimerkki [Qwt plot|display/koneautomaatio/QwtPlot+-+esimerkki] esimerkki.
# Hyödynnä esimerkkiä ja tulosta anturin arvo qwtplotissa.
# Päivitä edellisiä tehtäviä kuvaava Umbrello malli.
# Tee kone esimerkki siten, että teet kaikista luokista dialogeja. Laita luokkiin toimilaite ja anturi liukupalkit, joilla voit säätää niiden antamia arvoja. Älä käytä enää QThread luokkaa kone luokan perinnässä.
# Tee dialog perustainen ohjelma ja koosta se kahdesta alidialogista. Kokeile dialogien avausta show ja exec funktioilla, mitä huomaat? Ohjeita: sisällytä "include" alidialogit päädialogin otsikkotiedostoon, tee dialogeille muuttujat päädialogiin, tee päädialogiin nappi, jolla avaat alidialogit funktioilla exec tai show.
# Lisää edellisen tehtävän dilogeihin viestinvälitystä. Lähetä viesti päädialogista molempiin alidialogeihin. Esimerkiksi niin, että teet dialogiin napin, joka lähettää editline viestin molemmille alidialogeille.
# Lisää alidialogeihin viestinvälitys toiseen alidialogiin edellisessä tehtävässä kuvatulla tavalla.
# Lisää vielä alidialogeihin vistinvälitys päädialogiin.
# Tutustu Kvaserin simplewrite.c ohjelmaan ja liitä se Qt\- dialogiin siten, että voit syöttää ohjelman tiedot dialogista.
# Tutustu Kvaserin canmonitor.c ohjelmaan ja liitä se Qt\- dialogiin siten, että voit syöttää ohjelman tiedot dialogista.
# Tee ohjaus manipulaattorille, joka nostaa laatikon pöydältä ja laittaa sen toiselle pöydälle. Käytä QStateMachine luokkaa ja sen aliluokkia.
# Tee edellinen tehtävä käyttäen switch-case rakennetta ja QTimer ajastinta. Kts. Qt:n wiki.
# Tee edellinen tehtävä käyttäen tilakoneessa omaa Säiettä QThread.
# |
Qt on Trolltechin tekemä käyttöliittymien ja ohjelmakoodin totetukseen tarkoitettu työkalu. Trolltech on nykyään Nokia Oy:n omistuksessa. Qt:stä on avoin versio LGPL, jolla voi tehdä omia sovelluksia. Esimerkiksi Ubuntuun Qt kannattaa ladata pakettienhallinnan avulla, jolloin se ja sen lisäosat asentuvat oikein. Qt Creator on ns. Cross-Platform Qt IDE (Integrated Development Environment). Qt Creatorilla voi tehdä sovelluksia Linuxiin, Windowsiin, Macille sekä älypuhelimille. Lisäksi tuotetut softat kääntyvät useille laitealustoille.
- Get the Nokia Qt SDK
- Download Qt learning materials and Getting Started Guides
- Attend Qt Trainings and submit your app to Calling All Innovators North America
- Explore Qt Quick in the latest Qt 4.7 (tämä on kehitysversio ja on todennäköisesti tuettu seuraavassa Nokia Qt SDK:ssa)
- koulutusmateriaalia
...