Development/Tutorials/Qt4 Ruby Tutorial/Chapter 01/fi: Difference between revisions
Centerlink (talk | contribs) (Created page with "hello = Qt::PushButton.new('Hei Maailma!')") |
(Updating to match new version of source page) |
||
(18 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
{{TutorialBrowser| | {{TutorialBrowser| | ||
Line 7: | Line 5: | ||
name=Hei Maailma!| | name=Hei Maailma!| | ||
pre=[http://www.ruby-lang.org Ruby]| | pre=[http://www.ruby-lang.org Ruby]| | ||
next=[[Special:myLanguage/Development/Tutorials/Qt4_Ruby_Tutorial/Chapter_2|Oppikurssi 2 - Sen kutsuminen | next=[[Special:myLanguage/Development/Tutorials/Qt4_Ruby_Tutorial/Chapter_2|Oppikurssi 2 - Sen kutsuminen aiheuttaa lopettamisen]] | ||
}} | }} | ||
Line 35: | Line 33: | ||
=== Esittely === | === Esittely === | ||
Ylimmällä tasolla QtRuby-sovelluksen tavallisesti | Ylimmällä tasolla QtRuby-sovelluksen on tavallisesti suoritettava jonkin kaltainen alustus ja välitettävä ohjaus Qt-kirjastolle, joka sitten kertoo ohjelmalle käyttäjän toimista tapahtumien välityksellä. | ||
Jokaisessa graafisessa käyttöliittymäsovelluksessa, joka käyttää Qt:tä, on tarkalleen vain yksi [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application]-objekti. | Jokaisessa graafisessa käyttöliittymäsovelluksessa, joka käyttää Qt:tä, on tarkalleen vain yksi [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application]-objekti. | ||
[http://doc.qt.nokia.com/latest/qapplication.html Qt::Application] hallinnoi useita sovellustason resursseja, kuten oletuskirjasimia ja kohdistinta. | [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application] hallinnoi useita sovellustason resursseja, kuten oletuskirjasimia ja kohdistinta. | ||
[http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton] on graafisen käyttöliittymän | [http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton] on graafisen käyttöliittymän painike, jota käyttäjä voi painaa tai vapauttaa. | ||
Se hallinnoi sen omaa käyttötuntumaa, kuten jokainen muu [http://doc.qt.nokia.com/latest/qwidget.html Qt::Widget]. | Se hallinnoi sen omaa käyttötuntumaa, kuten jokainen muu [http://doc.qt.nokia.com/latest/qwidget.html Qt::Widget]. | ||
Käyttöliittymäkomponentti on käyttöliittymän | Käyttöliittymäkomponentti on käyttöliittymän rajapintaobjekti, joka voi käsitellä käyttäjän syötön ja piirtää grafiikkaa. | ||
Ohjelmoija voi vaihtaa sekä | Ohjelmoija voi vaihtaa sekä koko käyttötuntuman että monia sen pienempiä ominaisuuksia (sellaisia kuin väri), samoin kuin käyttöliittymäkomponentin sisällön. | ||
[http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton] voi näyttää joko tekstiä tai [http://doc.qt.nokia.com/latest/qicon.html Qt::Icon]-kuvakkeen. | [http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton] voi näyttää joko tekstiä tai [http://doc.qt.nokia.com/latest/qicon.html Qt::Icon]-kuvakkeen. | ||
Line 69: | Line 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Tässä, [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application]:n jälkeen, tulee ensimmäinen ikkunajärjestelmän koodi: Painike luodaan. | |||
Painike on asetettu näyttämään tekstin "Hei maailma!". | |||
Koska emme määritä emoikkunaa (toisena argumenttina kohteeseen | |||
[http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton] | [http://doc.qt.nokia.com/latest/qpushbutton.html Qt::PushButton].konstruktori), | ||
painike on omassa ikkunassaan, omalla ikkunakehyksellä ja otsikkopalkilla. | |||
<syntaxhighlight lang="ruby"> | <syntaxhighlight lang="ruby"> | ||
Line 80: | Line 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Painike on asetettu olemaan 100 pikseliä leveä ja 30 pikseliä korkea | |||
( | (poislukien ikkunakehys, jonka ikkunointijärjestelmä tarjoaa). | ||
Voisimme kutsua metodia [http://doc.qt.nokia.com/latest/qwidget.html#pos-prop Qt::Widget::move()] liittääksemme erityisen näyttösijainnin käyttöliittymäkomponenttiin, | |||
mutta sen sijaan annoimme ikkunointijärjestelmän valita sijainnin. | |||
<syntaxhighlight lang="ruby"> | <syntaxhighlight lang="ruby"> | ||
Line 89: | Line 87: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Käyttöliittymäkomponentti ei ole koskaan näkyvä luontihetkellä. Sinun on kutsuttava metodia [http://doc.qt.nokia.com/latest/qwidget.html#show Qt::Widget::show()] sen tekemiseksi näkyväksi. | |||
<syntaxhighlight lang="ruby"> | <syntaxhighlight lang="ruby"> | ||
Line 95: | Line 93: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Tämä on se paikka, jossa ohjelmamme välittää ohjauksen Qt:lle. | |||
[http://doc.qt.nokia.com/latest/qcoreapplication.html#exec Qt::CoreApplication::exec()] | [http://doc.qt.nokia.com/latest/qcoreapplication.html#exec Qt::CoreApplication::exec()]-metodi palaa, kun sovellus lopetetaan. | ||
([http://doc.qt.nokia.com/latest/qcoreapplication.html Qt::CoreApplication] | ([http://doc.qt.nokia.com/latest/qcoreapplication.html Qt::CoreApplication] on [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application]-sovelluksen perusluokka. | ||
Se toteuttaa [http://doc.qt.nokia.com/latest/qapplication.html Qt::Application]-ytimen, ei-graafiset käyttöliitymätoiminnallisuudet ja sitä voidaan käyttää kun kehitetään ei-graafisia käyttöliittymäsovelluksia.) | |||
Metodissa [http://doc.qt.nokia.com/latest/qcoreapplication.html#exec Qt::CoreApplication::exec()] Qt vastaanottaa ja käsittelee käyttäjän ja järjestelmän tapahtumia ja välittää nämä sopiville käyttöliittymäkomponenteille. | |||
Sinun pitäisi nyt yrittää ajaa tämä ohjelma. | |||
=== | === Sovelluksen suorittaminen === | ||
Kun suoritat sovelluksen, näet pienen ikkunan, jonka täyttää yksi painike, ja siinä voit lukea kuuluisat sanat: "Hei maailma!" | |||
=== | === Harjoitukset === | ||
Yritä muuttaa ikkunan kokoa. Napsauta painiketta. Jos suoritat sovelluksen X11:ssa, | |||
yritä suorittaa ohjelma käyttäen '''<tt>-geometry</tt>'''-valitsinta (esimerkiksi, '''<tt>-geometry 100x200+10+20</tt>'''). | |||
[[Category:Ruby]] | [[Category:Ruby]] |
Latest revision as of 12:32, 13 July 2012
Tutorial Series | Qt4 Ruby-oppikurssi |
Previous | Ruby |
What's Next | Oppikurssi 2 - Sen kutsuminen aiheuttaa lopettamisen |
Further Reading | n/a |
Hei Maailma!
Tiedostot:
Yleistä
Tämä ensimmäinen ohjelma on yksinkertainen "Hei Maailma"-esimerkki. Se sisältää vain pelkän minimin, jonka tarvitset saadaksesi Qt-sovelluksen toimimaan. Kuva yllä on näytönkaappaus tästä ohjelmasta.
Tässä on sovelluksen täydellinen lähdekoodi:
require 'Qt4'
app = Qt::Application.new(ARGV)
hello = Qt::PushButton.new('Hei Maailma!')
hello.resize(100, 30)
hello.show()
app.exec()
Esittely
Ylimmällä tasolla QtRuby-sovelluksen on tavallisesti suoritettava jonkin kaltainen alustus ja välitettävä ohjaus Qt-kirjastolle, joka sitten kertoo ohjelmalle käyttäjän toimista tapahtumien välityksellä.
Jokaisessa graafisessa käyttöliittymäsovelluksessa, joka käyttää Qt:tä, on tarkalleen vain yksi Qt::Application-objekti. Qt::Application hallinnoi useita sovellustason resursseja, kuten oletuskirjasimia ja kohdistinta.
Qt::PushButton on graafisen käyttöliittymän painike, jota käyttäjä voi painaa tai vapauttaa. Se hallinnoi sen omaa käyttötuntumaa, kuten jokainen muu Qt::Widget. Käyttöliittymäkomponentti on käyttöliittymän rajapintaobjekti, joka voi käsitellä käyttäjän syötön ja piirtää grafiikkaa. Ohjelmoija voi vaihtaa sekä koko käyttötuntuman että monia sen pienempiä ominaisuuksia (sellaisia kuin väri), samoin kuin käyttöliittymäkomponentin sisällön. Qt::PushButton voi näyttää joko tekstiä tai Qt::Icon-kuvakkeen.
Läpikäynti rivi riviltä
require 'Qt4'
Tämä rivi lataa QtRuby-laajennoksen.
app = Qt::Application.new(ARGV)
app on tämän ohjelman Qt::Application-ilmentymä. Se luodaan tässä. Välitämme ARGV kohteelle Qt::Application-konstruktori, jotta se voi käsitellä tiettyjä vakiokomentoriviargumentteja (sellaisia kuin -display X11:n alla). Kaikki Qt:n tunnistamat komentoriviargumentit poistetaan kohteesta ARGV.
Huomaa: On olennaista että Qt::Application-objekti luodaan ennen kuin mitään Qt:n ikkunajärjestelmän osaa käytetään.
hello = Qt::PushButton.new('Hei Maailma!')
Tässä, Qt::Application:n jälkeen, tulee ensimmäinen ikkunajärjestelmän koodi: Painike luodaan.
Painike on asetettu näyttämään tekstin "Hei maailma!". Koska emme määritä emoikkunaa (toisena argumenttina kohteeseen Qt::PushButton.konstruktori), painike on omassa ikkunassaan, omalla ikkunakehyksellä ja otsikkopalkilla.
hello.resize(100, 30)
Painike on asetettu olemaan 100 pikseliä leveä ja 30 pikseliä korkea (poislukien ikkunakehys, jonka ikkunointijärjestelmä tarjoaa). Voisimme kutsua metodia Qt::Widget::move() liittääksemme erityisen näyttösijainnin käyttöliittymäkomponenttiin, mutta sen sijaan annoimme ikkunointijärjestelmän valita sijainnin.
hello.show()
Käyttöliittymäkomponentti ei ole koskaan näkyvä luontihetkellä. Sinun on kutsuttava metodia Qt::Widget::show() sen tekemiseksi näkyväksi.
app.exec()
Tämä on se paikka, jossa ohjelmamme välittää ohjauksen Qt:lle. Qt::CoreApplication::exec()-metodi palaa, kun sovellus lopetetaan. (Qt::CoreApplication on Qt::Application-sovelluksen perusluokka. Se toteuttaa Qt::Application-ytimen, ei-graafiset käyttöliitymätoiminnallisuudet ja sitä voidaan käyttää kun kehitetään ei-graafisia käyttöliittymäsovelluksia.)
Metodissa Qt::CoreApplication::exec() Qt vastaanottaa ja käsittelee käyttäjän ja järjestelmän tapahtumia ja välittää nämä sopiville käyttöliittymäkomponenteille.
Sinun pitäisi nyt yrittää ajaa tämä ohjelma.
Sovelluksen suorittaminen
Kun suoritat sovelluksen, näet pienen ikkunan, jonka täyttää yksi painike, ja siinä voit lukea kuuluisat sanat: "Hei maailma!"
Harjoitukset
Yritä muuttaa ikkunan kokoa. Napsauta painiketta. Jos suoritat sovelluksen X11:ssa, yritä suorittaa ohjelma käyttäen -geometry-valitsinta (esimerkiksi, -geometry 100x200+10+20).