Kehitys/oppikurssit/Qt4 Ruby-oppikurssi/Kappale 01

    From KDE TechBase
    Revision as of 19:01, 22 August 2011 by Centerlink (talk | contribs) (Created page with "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 tekemi...")
    Other languages:


    Development/Tutorials/Qt4 Ruby Tutorial/Chapter 01


    Hei Maailma!
    Tutorial Series   Qt4 Ruby-oppikurssi
    Previous   Ruby
    What's Next   Oppikurssi 2 - Sen kutsuminen saa aikaan 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 tavallisesti on 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 painonappi, 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 rajapingaobjekti, joka voi käsitellä käyttäjän syötön ja piirtää grafiikkaa. Ohjelmoija voi vaihtaa sekä käko käyttötuntumaa ja monia sen pienempiä ominaisuuksia (sellaisia kuin väri), samoin kuin käyttöliittymäkomponentin sisältöä. 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: Painonappi 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 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()
    

    This is where our program passes control to Qt. Qt::CoreApplication::exec() will return when the application exits. (Qt::CoreApplication is Qt::Application's base class. It implements Qt::Application's core, non-GUI functionality and can be used when developing non-GUI applications.)

    In Qt::CoreApplication::exec(), Qt receives and processes user and system events and passes these on to the appropriate widgets.

    You should now try to run this program.

    Running the Application

    When you run the application, you will see a small window filled with a single button, and on it you can read the famous words: "Hello world!"

    Exercises

    Try to resize the window. Click the button. If you're running X11, try running the program with the -geometry option (for example, -geometry 100x200+10+20).