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
- [Perusteita]
- Tapahtumaperustainen ohjelmointi
- Dialogin liukupalkin arvon luku muuttujaan
- QMake ja MOC
- Dialogin toteutus ohjelmallisesti ilman Qt Designeria, layout jne.
- 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)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
- Modbus testing software (requires login)
- Veneenohjaussimulaattorin päivitys
- Ohjelmakuvakkeen lisääminen (Testattu Windowsissa)
- Advantech USB-4716 Qt ympäristössä (Debian 4.0)
- Demo akun varauksesta, kaytosta ja latauksesta (mm. animaatioita, alustana windows)
- [Qt VS2008 framework Windows \-ympäristössä]
- Qwt-laajennus Qt VS2008 framework Windows -ympäristössä
- Analogwidgets-laajennus Qt VS2008 framework Windows -ympäristössä
- Animaatioesimerkit
- 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.| //tämä luokan esittelyyn |
QTime displayUpdateTimer;
forever
Unknown macro: { || //Tähän anturin tiedon laskenta || if (NayttoAjastin.elapsed() > Paivitysaika) ||Unknown macro: { || 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.