Kehitys/Oppikurssit/Qt4 Ruby -oppikurssi/Kappale 3

Development | Tutorials | Qt4 Ruby Tutorial
Revision as of 10:11, 14 July 2012 by FuzzyBot (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Other languages:English 100% • ‎Finnish 100% • ‎Russian 100%
Perhearvot
Tutorial Series   Qt4 Ruby -oppikurssi
Previous   Oppikurssi 2 - Poistuu kutsuttaessa
What's Next   Oppikurssi 4 - Olkoon siellä käyttöliittymäkomponentteja
Further Reading   n/a

Contents

Perhearvot

Qt4 Ruby Tutorial Screenshot 3.png

Tiedostot:

Yleistä

Tämä esimerkki näyttää, kuinka luodaan vanhempi- ja lapsikäyttöliittymäkomponentteja.

Pidämme asiat yksinkertaisina ja käytämme vain yhtä vanhempaa ja yksinäistä lasta.

require 'Qt4'
 
app = Qt::Application.new(ARGV)
 
window = Qt::Widget.new()
window.resize(200, 120)
 
quit = Qt::PushButton.new('Poistu', window)
quit.font = Qt::Font.new('Times', 18, Qt::Font::Bold)
quit.setGeometry(10, 40, 180, 40)
Qt::Object.connect(quit, SIGNAL('clicked()'), app, SLOT('quit()'))
 
window.show()
app.exec()

Läpikäynti rivi riviltä

window = Qt::Widget.new()

Luomme tässä yksinkertaisesti pelkän käyttöliittymäkomponenttiobjektin. Luokka Qt::Widget on käyttöliittymäobjektien perusluokka. Käyttöliittymäkomponentti on käyttölittymän ydin: Se vastaanotta hiiren, näppäimistön ja muita tapahtumia ikkunointijärjestelmästä, piirtää esityksen itsestään näytölle. Vanhempikomponentti ja käyttöliittymäkomponentin edustalla sijaitsevat komponentit leikkaavat käyttöliittymäkomnponenttia.

käyttöliittymäkomponenttia, joka ei ole upotettu vanhempikäyttöliittymäkomponenttiin, kuten tämä erityinen käyttöliittymäkomponentti, kutsutaan ikkunaksi. Tavallisesti ikkunoilla on oma ikkunakehys ja tehtäväpalkkirivi, jotka ikkunointijärjestelmä tarjoaa. Käyttöliittymäkomponentti ilman vanhempikäyttöliittymäkomponenttia on aina riippumaton ikkuna. Ikkunointijärjestelmä ohjaa sen alkusijaintia näytöllä.

window.resize(200, 120)

Asetamme ikkunan leveydeksi 200 pikseli ja korkeudeksi 1200 pikseliä.

quit = Qt::PushButton.new('Poistu', window)

Laps on syntynyt. Tämä Qt::PushButton-painike luodaan vanhempikäyttöliittymäkomponentilla (window). Lapsikäyttöliittymäkomponentti näytetään aina sen vanhemman alueella. Kun se näytetään, vanhemman rajat leikkaavat sitä. Oletuksena se on istutettu vanhemman vasempaan yläkulmaan, koordinaatteihin (0, 0).

quit.setGeometry(10, 40, 180, 40)

Qt::Widget::setGeometry()-funktio ottaa neljä argumenttia: Kaksi ensimmäistä argumenttia ovat painikkeen vasemman yläkulman x- ja y-koordinaatit. Koordinaatit ovat suhteellisia vanhempikäyttöliittymäkomponenttiin. Kaksi viimeistä argumenttia ovat painikkeen leveys ja korkeus. Tuloksen on painike, joka ulottuu koordinaateista (10, 40) koordinaatteihin (190, 80).

window.show()

Kun vanhempikäyttöliittymä näytetään, se kutsuu kaikkien lasten näytön (paitsi niiden, jotka on eksplisiittisesti piilotettu käyttäen Qt::Widget::hide()-metodia).

Sovelluksen suorittaminen

Paiinike ei enää täytä koko ikkunaa. Sen sijaan se pysyttelee koordinaateissa (10, 40) ikkunan sisällä ja (180, 40)-kokoisena Qt::Widget::setGeometry()-kutsun ansiosta.

Harjoitukset

Yritä muuttaa ikkunan kokoa. Kuinka painike muuttuu? Mitä tapahtuu painikkeen korkeudelle, jos suoritat ohjelman suuremmilla kirjasimilla. Mitä tapahtuu, kun yrität tehdä ikkunasta todella pienen?


This page was last modified on 14 July 2012, at 10:11. This page has been accessed 1,675 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal