Qt:n dokumentaatiosta

Plussassa oleva GUI-materiaali on vain pintaraapaisu siitä, mitä kaikkea Qt tarjoaa GUI-ohjelmoinnin tueksi.

Joissakin viikkotehtävissä ja projektissa joudut todennäköisesti etsimään lisätietoa Qt:n dokumentaatiosta. Esimerkiksi kaikki Qt:n C++-luokat löytyvät tästä linkistä.

Qt:n luokat alkavat Q-kirjaimella. Joillekin C++:n luokille on olemassa Qt-vastineet. Joudut esimerkiksi käyttämään QString-luokkaa aikaisemman string-luokan sijaan, sillä jotkut metodit vaativat parametrikseen QString-olion tai palauttavat sellaisen.

Qt:n luokat rakentuvat hierarkisesti toistensa päälle, eli luokka voi olla toisen luokan kantaluokkia tai aliluokkia. Jokin metodi voi olla määritelty (ja toteutettu) kantaluokassa, mutta se periytyy myös aliluokille, ja sitä voi käyttää samaan tapaan, kuin jos aliluokka olisi määritellyt metodin itse.

Tarkastellaan esimerkkinä luokkaa QLineEdit eli käyttöliittymäelementtiä, joka lukee käyttäjän kirjoittaman syötteen siihen tarkoitukseen varatusta laatikosta. Kun haluat lisätietoa tästä luokasta, voit googlettaa hakusanalla “Qt LineEdit”. Heti ensimmäisestä linkistä pääset etsimäsi luokan dokumentaatioon. Sieltä löytyy useampikin luettelo luokan ominaisuuksista, mutta oleellisimmat niistä ovat Public functions, Public slots ja Signals.

Kuten muualla Plussa-materiaalissa kerrotaan slot-funktio on muuten kuten mikä tahansa funktio, ja sitä voi kutsua tavallisesti, mutta lisäksi sitä kutsutaan automaattisesti silloin, kun siihen liitetty signaali lähetetään. Signaalit taas tyypillisesti ovat sellaisia tapahtumia, jotka aiheutuvat käyttäjän toiminnoista graafisessa käyttöliittymässä. Esimerkiksi QLineEdit-luokalla on signaali returnPressed, joka lähetetään, kun käyttäjä on lopettanut syötteen kirjoittamisen ja painanut lopuksi Return-näppäintä (eli Enter-näppäintä).

Edellä kuvattiin, mitä osioita luokan (esimerkkinä QLineEdit) pääsivulta löytyy. Jos haluat tietää, mitä metodeja luokka tarjoaa, olet todennäköisesti kiinnostunut kaikista luokan metodeista: sekä perityistä että luokan itse toteuttamista. Kaikki nämähän ovat ihan samalla tavalla käytettävissä. Kannattaa siis myös klikata linkkiä: “List of all members, including inherited members”. Avautuvassa listassa metodit on lueteltu niin, että paluuarvon tyyppi kerrotaan viimeisenä. Esimerkiksi rivi:

text() const : QString

kertoo, että text-metodin paluuarvon tyyppi on QString.

Metodin nimestä voit päätellä, mikä voisi olla tarvitsemasi metodi. Klikkaamalla metodin nimeä saat näkyviin tarkemman kuvauksen metodista ja mahdollisesti myös esimerkkejä.