Voit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä.

Samankaltaiset tiedostot
Qt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia)

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Jypelin käyttöohjeet» Ruutukentän luominen

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

C# Windows ohjelmointi perusopas

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi

Web Services tietokantaohjelmoinnin perusteet

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

QT model view. Juha Järvensivu 2008

Muistitikun liittäminen tietokoneeseen

Graafisen käyttöliittymän ohjelmointi

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

JUnit ja EasyMock (TilaustenKäsittely)

Listarakenne (ArrayList-luokka)

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Eclipse ja JUnit-ohjelmoijatestit

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013

TIE Ohjelmistojen suunnittelu

Metodien tekeminen Javalla

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Valikot ja työkalupalkit. 2008

Tietorakenteet ja algoritmit

Webmailin käyttöohje. Ohjeen sisältö. Sähköpostin peruskäyttö. Lomavastaajan asettaminen sähköpostiin. Sähköpostin salasanan vaihtaminen

Kotopro käyttäjän ohje

Ohjelmoinnin jatkokurssi, kurssikoe

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Tietorakenteet ja algoritmit

GeoGebra-harjoituksia malu-opettajille

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008

CABAS. Perusominaisuuksien käyttö

Punomo Tee itse -julkaisun tekeminen

Eclipse & WindowBuilder

Tiedostonkäsittely ja asetusten tallentaminen. Graafisen käyttöliittymän ohjelmointi Luento 14

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

STATUSTEN JA HOITOJAKSOJEN KORJAUS

TIE Ohjelmistojen suunnittelu

Harjoitus Morphing. Ilmeiden luonti

AUTOCAD-TULOSTUSOHJE. Tällä ohjeella selitetään Autocadin mittakaavatulostuksen perusasiat (mallin mittayksikkönä millimetrit)

Käyttö ohjeet kirpputorille

Ohjelmoinnin peruskurssi Y1

Harjoitus 2: Oppijan aktivointi ( )

- mittayksikkö eli yksikkö on mittaamisessa tarvittava apuväline. - yksiköiden avulla voidaan verrata mitattujen suureiden arvoja

TIE = JOTU. VH5 - MagicDraw

Käyttöohje kansalaisopiston opettajille

KTKO104 Demo 3. Marika Peltonen

Adobe Premiere Elements ohjeet

Ohjelmoinnin peruskurssi Y1


Ryhmäharjoitus III: Mitä on koodaaminen? A. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 20.3.

QT tyylit. Juha Järvensivu 2008

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Käyttöohje, terminaali. Boliden Harjavalta Copyright Lahti Precision Oy

VSP webmail palvelun ka yttö öhje

Lyhyt kertaus osoittimista

Dialogit. Juha Järvensivu 2008

Kansionäkymä listasta suuriin kuvakkeisiin

Ohjelmoinnin peruskurssi Y1

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Pelaajan tietojen lisääminen

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Ohje sähköiseen osallistumiseen

PDF-tiedostojen teon pikaohje

@PHPOINT Sähköpostitilin asetukset

Pikaohje formaatin valmistamiseen

MagicDraw-pikaohje (VH5)

BORIS-peruskurssi - Harjoitukset

VH5, JOTU, MagicDraw:n käyttö

Ohjeita Porin Lyseon koulun yrittäjuuskasvatuksen blogin kirjoittamiseen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

Kristina Zharnikova TYÖNVASTAANOTTOJÄRJESTELMÄ

Ohje: Tiedostot turvaan ja puhdas Ubuntu alle

LibreOffice Writer perusteita

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Osoitin ja viittaus C++:ssa

Kahoot - kyselytyökalu

ITKP102 Ohjelmointi 1 (6 op)

Sensen perusraportit ratsastusseuroille. Jäsenten tiedot ja kilpailuluvat

Python-ohjelmointi Harjoitus 2

Saat seitsemän NY-ohjelmaa käyttöösi.

Python-ohjelmointi Harjoitus 5

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Ohje sähköiseen osallistumiseen

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0

Tekninen Tuki. Access Point asennusohje

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Ohjeet asiakirjan lisäämiseen arkistoon

Transkriptio:

Viikkoharjoitus 1 Viikkoharjoituksessa tutustutaan signal-slot mekanismiin, QT:n Creatorin käyttöliittymäeditoriin, testataan debuggerin käyttöä, katsotaan debug-tulosteiden käyttöä ja käytetään dump-metodeita. Harjoituksessa tehdään mittayksikkömuunnin, jonka avulla muun muassa käsittämättömän hölmöt engelsmannien suosimat mittayksiköt saadaan muunnettua ihmisten käyttämään fiksumpaan muotoon tai sitten toiseen yhtä käsittämättömään formaattiin. Alla lista yksiköistä, joita ohjelma osaa tarjota muunneltavaksi: Metri m meripeninkulma mpk = 1 852 metriä maili 1 609,344 m = 8 furlongia jalka 0,3048 m furlong = 1/8 mailia 660 jalkaa tuuma = 0,0254 m Voit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä. Työvaiheet: 1. Käynnistä QT, käynnistele ohjelma ja lisää ohjelmaan nappula ja sen clicked-signaalille käsittelijä slot. Luo uusi projekti (QT Creator->file->new->QT GUI application-> ) ja nimeä se esim Muuntelijaksi. Avaa QT Creatorin käyttöliittymäeditori (Project-Form->mainwindow.ui, aukeaa tuplaklikkaamalla). Lisää ohjelmaan nappula ja nimeä se convertbutton nimiseksi ja anna Muunna nappulan tekstiksi. Lisää nappulanpainalluksen käsittelevä slot (oikea nappi nappulan päällä, go to slot, clicked().

käyttöliittymäeditori 2. Käännä ja kokeile ohjelman ajoa (=tutustu vasemman alakulman nappeihin.) Lisää break point pääikkunan rakentajaan ja nappulan painalluksen käsittelijään. (klikkaa rivinumeron vasemmalla puolella). Käynnistä ohjelma debug-moodissa, kokeile ohjelman ajon askeltamista ja ajon vapauttamista. (kontrollit ympyröity, testaile niitä) Includoi qdebug ja lisää haluamasi debug-tekstit rakentajaan ja nappulan klikkauksen käsittelijään. (esim. qdebug() << "rakentajassa";) Lisää tämän jälkeen seuraavat rivit nappulan painalluksen käsittelijään ja katso mitä Application output näkymään QT:ssa tulostuu. dumpobjectinfo(); ui->nappulaolion_nimi->dumpobjectinfo();

debuggerin käynnistelyä 3. Palaa käyttöliittymäeditorin pariin, lisää käyttöliittymään LineEdit muunnettavaa arvoa varten ja toinen lineedit jota käytetään tuloksen näyttämään (aseta tulosboxin readonly property todeksi). Lisää kaksi ComboBoxia näkymään, toinen lähtöyksikön tyypin valintaan, toinen kohdeyksikön tyypin valitsemiseen. Tämän jälkeen voit lisätä haluamasi määrän labeleita tai groupboxeja, joiden avulla voit kertoa mikä minkin kentän tarkoitus on tai ryhmitellä widgettejä. Käännä ja aja & totea ettei ohjelma edelleenkään tee hirveästi juttuja Nyt edessä on ComboBoxien valintavaihtoehtojen lisääminen. Yksinkertaisimmillaan homma onnistuu antamalla arvot suoraan käyttöliittymäeditorilla. (oikea nappi comboboxin päällä ja edit items, lisäile haluamasi tekstit). Lisää toiseen ComboBoxiin kyllä ja ei vaihtoehdot ja aja ohjelma. Poista valinnat samassa paikassa missä lisäsitkin. :) Seuraavaksi tehdään lisääminen valintojen lisääminen koodissa. Lisää mainwindow-luokkaan alustusfunktio (initializeunitmap) ja kutsu sitä luokan rakentajan lopussa. ComboBoxiin uusien itemien lisääminen onnistuu funktiolla ui->sourcecombobox->additem( );

Esim. ui->sourcecombobox->additem( "metri" ); Alla olevan koodipätkän avulla tehtyä ComboBoxien alustuksen. #include <QMap> namespace typedef QMap<QString, float> ConvMap; // muunnettavat yksiköt, ensimmäinen yksikkö toimii refrenssinä // muiden arvo esitetään ensimmäisen yksikön "kertoimina" ConvMap convertibleunits; void MainWindow:initializeUnitMap() convertibleunits[ "metri" ] = 1; convertibleunits[ "maili" ] = 1609.344; convertibleunits[ "furlong" ] = 1609.344/8; convertibleunits[ "jalka" ] = 0.3048; convertibleunits[ "senttimetri" ] = 0.01; convertibleunits[ "tuuma" ] = 0.0254; for( ConvMap::const_iterator i = convertibleunits.constbegin(); i!= convertibleunits.constend(); ++i ) ui->sourcecombobox->additem( i.key() ); ui->resultcombobox->additem( i.key() ); 4. Viimeisenä osana on toteuttaa laskenta laskentanappulan painalluksen käsittelijään. Voit joko kysyä comboboxeilta suoraan niiden valittua itemiä (currenttext tai currentindex). Toinen vaihtoehto on luoda molemmille ComboBoxeille currentindexchanged -signaalin käsittelevä slot ja tallentaa käsittelijässä valittu arvo pääikkunan jäsenmuuttujaan (ja lisätä jäsenmuuttujat pääikkunaan). Jotain vinkkejä toteutukseen: Numeron (int, float) voi muuntaa Qstring-merkkijonoksi mm. seuraavasti: QString mjono = Qstring::number( numero ); LineEditin tekstin voi asettaa settext( QString ) funktiolla. Tässä esimerkki siitä, miten voit hakea qmapista QString-merkkijonoa vastaavan arvon. Arg1 voi olla esim. ComboBoxin valittu elementti (merkkijonona). ConvMap::ConstIterator it = convertibleunits.find( arg1 ); float conversionfactor = it.value();

valmis ohjelma (yksi mahdollinen käyttöliittymä) Nyt ohjelma on valmis, tarkista vielä ohjelman oikea toimivuus ja demoa sitä assarille niin saat suoritusmerkinnän. Lisätehtävä: lisää ohjelmaan yläkategorioita, kuten paino, etäisyys, tilavuus jne. Vaihda ComboBoxien muuntoyksiköt yläkategorian perusteella (valitaan paino, valittavana esim. pauna, muttei kilometrejä tai gallonaa). Miten toteuttaisit yläkategorian valinnan?