Ohjelmoinnin peruskurssien laaja oppimäärä
|
|
- Elli Mäkinen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmoinnin peruskurssien laaja oppimäärä Luento 6: Graasten käyttöliittymien ohjelmointia Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista)
2 Sisältö 1 GUI-ohjelmointia Qt:lla, tapahtumankäsittely 2 Komponenttien asettelu 3 Sekalaista GUI-ohjelmoinnista 4 Omien komponenttien piirtäminen
3 (ei-laajan kurssin kalvo: luento 6 sivu 6) PyQt PyQt ei ainoa mahdollisuus (PySide, Tkinter, wxpython,... Tkinter on vanha Pythonin mukana tuleva kirjasto PyQt Ei erillisiä asennuksia Joidenkin mielestä vanha mutta edelleen käytetty Asennettava erikseen Pohjalla Qt alustariippumaton rajapintatyökalu ja sidonnat Pythoniin Käytetään tällä kurssilla (toki muitakin saa käyttää mutta tukea ei välttämättä saa) PySide on tämän uudempi versio. Perusasiat pitkälti samoin kummassakin, erona lisenssi PyQt: GPL PySide: LGPL 18:47
4 (ei-laajan kurssin kalvo: luento 6 sivu 9) Yleiskatsaus Graafinen käyttöliittymä sisältää nappeja, valintaruutuja, valikoita, paneeleja, jne. Jotta voi rakentaa toimivan graafisen käyttöliittymän, tarvitsee tietää: kuinka graafisia komponentteja luodaan Kuinka ne saadaan näkymään ruudulla Kuinka ne saadaan ruudulla sinne, minne halutaan Kuinka ne saadaan tekemään halutuja asioita Graafisia komponentteja luodaan, kuten mitä tahansa Pythonin olioita 18:47
5 (ei-laajan kurssin kalvo: luento 6 sivu 10) import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def init (self): Muistettava kutsua super(example, self). init () yliluokan init self.initui() Ikkunan asetukset Siisti lopetus, kun Mainloop loppuu def initui(self): self.setgeometry(300, 300, 650, 450) self.setwindowtitle('main window') self.show() Tuo ikkuna näkyville def main(): Aina täytyy olla yksi sovellusolio app = QtGui.QApplication(sys.argv) ex = Example() Mahdolliset sys.exit(app.exec_()) komentoriviargumentit if name == ' main ': main() Vasen yläkulma X ja y Komentoriviargumentteja varten Tuodaan graafiset komponentit Tehdään pääikkuna Aloitetaan sovellus ja käynnisteään tapahtumakuuntelija (mainloop) Leveys ja korkeus 18:47
6 (ei-laajan kurssin kalvo: luento 6 sivu 11) def initui(self): Lisää sisällön exit_action = QtGui.QAction(QtGui.QIcon('./exit.png'), '&Exit', self) exit_action.setshortcut('ctrl+q') exit_action.triggered.connect(qtgui.qapp.quit) menubar = self.menubar() file_menu = menubar.addmenu('&file') file_menu.addaction(exit_action) Aiheuttaa sovelluksen loppumisen self.toolbar = self.addtoolbar('exit') self.toolbar.addaction(exit_action) self.setgeometry(300, 300, 850, 650) self.setwindowtitle('main window') self.show() 'window title' työkalupalkille 18:47
7 (ei-laajan kurssin kalvo: luento 6 sivu 12) Ikkunan voi periä myös QWidget luokasta mutta silloin työkalu- ja valikkopalkit eivät ole lisättävissä. class Example(QtGui.QWidget): def init (self): super(example, self). init () self.initui() def initui(self): self.button = QtGui.QPushButton("Push", self) self.button.move(30, 50) self.button.clicked.connect(self.button_pressed) Mihin komponenttiin self.setgeometry(300, 300, 290, 150) self.setwindowtitle('event sender') self.show() Liittää nappulan painamisen tapahtumankäsittelijään def button_pressed(self): self.button.settext('pressed') Vaihtaa nappulan tekstin 18:47
8 (ei-laajan kurssin kalvo: luento 7 sivu 2) Parametrit tapahtumankäsi3elijälle self.clear_bu-on = QtGui.QPushBu-on("Clear", self) self.clear_bu-on.clicked.connect(self.bu-on_pressed) def bu#on_pressed(self): event_message = 'bu-on pressed: clearing fields.' self.clear_texts(event_message) def clear_texts(self, message_text): self.hello_edit.settext('') self.message.settext(message_text) Apufunk=on avulla (tai myös lambda toimii)
9 Qt:n tapahtumankäsittely: signaalit ja slotit GUI-kirjastojen perusratkaisu tapahtumankäsittelyyn on takaisinkutsu esim. painonappiolion tiettyä metodia kutsutaan, kun nappia painetaan tai painonappiolioon liitetään takaisinkutsufunktio (eli ei välttämättä saman olion metodi) joskus komponenteilla on useampia tapahtumia nappi painetaan alas, nostetaan ylös, klikataan, tuplaklikataan,... Qt on tapahtumissa hieman muita kirjastoja joustavampi: Qt:ssa tapahtuma on signal (nimetty käyttöliittymäolioon liittyvä tapahtuma) takaisinkutsufunktio tms. on slot (toiminto, joka voidaan tehdä, kun jotain tapahtuu) nämä kaksi kytketään (connect) toisiinsa kytkentöjä voi tehdä melko vapaasti: esim. painonapin painamissignaali voi olla kytketty kahteen slottiin, joista kumpikaan ei ole painonappioliossa (molempia kutsutaan)
10 Signaalit ja slotit: kytkentöjen tekeminen Koodirivejä edellisiltä kalvoilta exit_action.triggered.connect(qtgui.qapp.quit) self.button.clicked.connect(self.button_pressed)... def button_pressed(self):... Primitiivisempi (vanhentunut?) tapa tehdä samat kytkennät QtCore.QObject.connect(exit_action, QtCore.SIGNAL("triggered()"), QtGui.qApp.quit) QtCore.QObject.connect(self.button, QtCore.SIGNAL("clicked()"), self.button_pressed) tässä signaalien nimet ovat triggered ja clicked signaaleilla ja sloteilla voisi olla myös argumentteja C++-kielessä signaalit ja slotit näkyvät eksplisiittisemmin connect:ssa voi pyytää slotin kutsumista joko heti tai jonotetusti ja ohjelma voi helposti tehdä myös omia signaalejaan
11 Sisältö 1 GUI-ohjelmointia Qt:lla, tapahtumankäsittely 2 Komponenttien asettelu 3 Sekalaista GUI-ohjelmoinnista 4 Omien komponenttien piirtäminen
12 Komponenttien asettelu käyttöliittymäelementit sijoitetaan paikalleen yleensä asetteluolioiden (esim. QGridLayout) avulla usein niitä käytetään sisäkkäin suorien pikselikoordinaattien käyttämistä kannattaa välttää ikkunan skaalaamisen lisäksi mm. käännökset eri kielille, fontin ja ulkoasutyylin muutokset eivät toimi kunnolla asetteluoliot tekevät ikkunasta skaalattavan itse pitää päättää, mitä ikkunan osista skaalataan (säädetään asetteluolioiden parametreilla) ikkunan sisälle saa myös rajoja käyttäjän siirrettäväksi kannattaa joskus selata läpi esim. QGridLayoutin metodit
13 (ei-laajan kurssin kalvo: luento 6 sivu 13) def initui(self): self.label = QtGui.QLabel("Say hello:", self) self.hello_edit = QtGui.QLineEdit(self) self.clear_button = QtGui.QPushButton("Clear", self) self.clear_button.clicked.connect(self.button_pressed) self.message = QtGui.QLabel('message label', self) self.hello_edit.textedited.connect(self.onedited) #Horizontal layout h_box1 = QtGui.QHBoxLayout() h_box1.addwidget(self.label) h_box1.addwidget(self.hello_edit) h_box1.addwidget(self.clear_button) h_box2 = QtGui.QHBoxLayout() h_box2.addwidget(self.message) #vertical layout v_box = QtGui.QVBoxLayout() v_box.addlayout(h_box1) v_box.addlayout(h_box2) self.setlayout(v_box) self.setgeometry(300, 300, 890, 650) self.setwindowtitle('layout example') self.show() def button_pressed(self): self.hello_edit.settext('') self.message.settext('') def onedited(self, text): self.message.settext(text) self.message.adjustsize() Jos tekstirivi muuttuu, mennään metodiin onedited Vaakatason layout komponentti Toiselle riville samanlainen Laitetaan ne päällekkäin pystysuunnan layout-komponenttiin Pystysuunnan komponentti määrää Ikkunan asettelun 18:47
14 (ei-laajan kurssin kalvo: luento 6 sivu 14) Useamman rivin tekstikenttä Luodaan ruudukko def initui(self): grid = QtGui.QGridLayout() rivi sarake grid.addwidget(qtgui.qlabel('one'), 0, 0) grid.addwidget(qtgui.qlabel('two'), 0, 1) grid.addwidget(qtgui.qlabel('three'), 0, 2) grid.addwidget(qtgui.qlabel('four'), 1, 0) grid.addwidget(qtgui.qlabel('five'), 1, 2) grid.addwidget(qtgui.qlabel('six'), 2, 0) grid.addwidget(qtgui.qlabel('seven'), 2, 1) grid.addwidget(qtgui.qtextedit(), 3, 0, 2, 3) self.setlayout(grid) Ikkunan asettelu ruudukkona self.resize(300, 200) self.move(300, 150) self.setwindowtitle('grid example') self.show() Lisätään ruudukkoon komponentteja Useamman ruudun kattava komponentti Monelle riville ja sakkeelle Alkuruutu: rivi, sarake 18:47
15 Käyttöliittymänsuunnittelutyökalut suurissa käyttöliittymäkirjastoissa on oma työkalu, jolla käyttöliittymiä voi piirtää graasesti esim. Qt:ssa QtDesigner, GTK:ssa Glade työkalu tekee joko (pohja)koodin, joka luo käyttöliittymäoliot, tai kuvauskieltä, jota koodi osaa lukea generoidun pohjakoodin muuttaminen on hankalaa: silloin käyttöliittymää ei enää voi muokata työkalun avulla jotkin suunnittelutyökalut antavat kirjoittaa osia pohjakoodista ja joskus pohjakoodi toimii sellaisenaan kuvauskielen käyttämisellä välttää nämä ongelmat, mutta käyttöliittymäolioihin viittaminen vaatii vähän omaakin koodia isommissa käyttöliittymissä kannattaa usein käyttää työkalua opettelua varten ja pienissä ohjelmissa kannattanee kirjoittaa käyttöliittymäkoodi kokonaan itse
16 (ei-laajan kurssin kalvo: luento 6 sivu 15) Muutama muistettava Jos periytät ikkunasi QMainWindow-luokasta, täytyy siihen luoda CentralWidget, joka pitää sisällään kaikki ikkunan komponentit. Vaikka näin: self.main_widget = QtGui.QWidget(self) self.setcentralwidget(self.main_widget) okbutton = QtGui.QPushButton("OK", self.main_widget) Jos tarvii, niin komponentteja voi asetella myös pakotetusti annettuun kohtaan ikkunassa: lbl1 = QtGui.QLabel('Laput', self) lbl1.move(15, 10) lbl2 = QtGui.QLabel('pysyvät', self) lbl2.move(35, 40) Ikkunan kokoa muutettaessa nämä eivät siirry 18:47
17 Sisältö 1 GUI-ohjelmointia Qt:lla, tapahtumankäsittely 2 Komponenttien asettelu 3 Sekalaista GUI-ohjelmoinnista 4 Omien komponenttien piirtäminen
18 Vielä yksi esimerkki 1/2 Oma käyttöliittymäolio + ajastin import time from PyQt4 import QtCore, QtGui qtclock.py class Clock(QtGui.QLCDNumber): def init (self): super(clock, self). init () self.setframestyle(qtgui.qframe.panel QtGui.QFrame.Raised) self.setsegmentstyle(qtgui.qlcdnumber.filled) self.setdigitcount(8) self.timer = QtCore.QTimer(self) self.timer.timeout.connect(self.updatetime) self.timer.start(1000) ; kertoo että metodi on slot (ei pakollinen) def updatetime(self): text = time.strftime("%h:%m:%s", time.localtime()) self.display(text) tässä peritään valmis olio QLCDNumber ja muokataan sitä vähän QTimer tekee ajastetun tapahtuman (tässä toistuvan)
19 Vielä yksi esimerkki 2/2 Ikkuna ja pääohjelma class ClockDialog(QtGui.QDialog): def init (self): super(clockdialog, self). init () qtclock.py clock = Clock() button = QtGui.QPushButton("&Quit") button.clicked.connect(self.close) layout = QtGui.QVBoxLayout() layout.addwidget(clock) layout.addwidget(button) self.setlayout(layout) self.resize(300, 150) self.setwindowtitle('clock') if name == ' main ': import sys app = QtGui.QApplication(sys.argv) clockdialog = ClockDialog() sys.exit(clockdialog.exec_())
20 (ei-laajan kurssin kalvo: luento 6 sivu 8) Mistä löytää tietoa Alkuun pääsee lukemalla seuraavan: Tai PyQt:n luokkakuvaukset 18:47
21 Mitkä graaset käyttöliittymät ovat tällaisia? melkein kaikki graaset käyttöliittymäkirjastot käyttävät samankaltaista oliomallia jopa kielissä, jotka eivät tue olioita (esim. C ja GTK) siellä olioita simuloidaan kuten Scheme-hissitehtävässä oliomallin rakenne on myös useimmiten hyvin samanlainen komponentteja, säiliöitä, sijoitteluasetuksia, painalluksiin ym. tapahtumiin reagoimista, jne. komponentitkin ovat enimmäkseen samoja, joskin eri näköisiä vaihtoehtoisia malleja (harvinaisia): matalamman tason malli: kirjasto tarjoaa vain piirtoalustan, ei komponentteja (esim. Pygame eli SDL, OpenGL) lomakemalli: esim. WWW-sivu tarjoaa lomakkeen ja saa sen täytettynä selaimelta (Web-sovelluksille tämä ei yleensä riitä) muitakin (esim. funktionaalisia) GUI-malleja on esitetty, mutta lähinnä tutkimusmielessä
22 Sisältö 1 GUI-ohjelmointia Qt:lla, tapahtumankäsittely 2 Komponenttien asettelu 3 Sekalaista GUI-ohjelmoinnista 4 Omien komponenttien piirtäminen
23 (ei-laajan kurssin kalvo: luento 7 sivu 3) Käy3ölii3ymän piirtäminen QtGui.QPainter Kaavioiden tekoon Käyrien piirtelyyn BiHkar3akuvien tekoon Piirtäminen tapahtuu korvaamalla paintevent- metodi Sitä kutsutaan aina automaahses=, kun ikkuna pitää piirtää Alussa Koko muu3uu
24 (ei-laajan kurssin kalvo: luento 7 sivu 4) import sys from PySide import QtGui, QtCore class Example(QtGui.QWidget): def init (self): super(example, self). init () self.initui() def initui(self): self.setgeometry(300, 300, 280, 170) self.setwindowtitle('kuvioita') self.show() def main(): app = QtGui.QApplica=on(sys.argv) ex = Example() sys.exit(app.exec_()) if name == ' main ': main() def paintevent(self, e): painter = QtGui.QPainter() painter.begin(self) self.draw_circle(painter) self.draw_line(painter) self.draw_rectangle(painter) painter.end() def draw_circle(self, painter): painter.setpen(qtcore.qt.green) painter.drawellipse(100, 50, 50, 50) def draw_line(self, painter): pen = QtGui.QPen(QtCore.Qt.red) pen.setwidth(4) painter.setpen(pen) painter.drawline(10, 30, 250, 150) def draw_rectangle(self, painter): painter.setpen(qtcore.qt.yellow) color = QtGui.QColor(QtCore.Qt.darkYellow) painter.setbrush(color) painter.drawrect(130, 120, 250, 150)
25 (ei-laajan kurssin kalvo: luento 7 sivu 5) def paintevent(self, e): painter = QtGui.QPainter() painter.begin(self) self.draw_circle(painter) self.draw_line(painter) self.draw_rectangle(painter) painter.end() def draw_circle(self, painter): painter.setpen(qtcore.qt.green) painter.drawellipse(100, 50, 50, 50) def draw_line(self, painter): pen = QtGui.QPen(QtCore.Qt.red) pen.setwidth(4) painter.setpen(pen) painter.drawline(10, 30, 250, 150) Luo painter alku def draw_rectangle(self, painter): painter.setpen(qtcore.qt.yellow) painter.setbrush(qtgui.qcolor(qtcore.qt.darkyellow)) painter.drawrect(130, 120, 250, 150) Kaikki piirtäminen noi3en väliin Metodeja kanna3aa käy3ää piirtoväri Laa=kon vasen ylänurkka, leveys, korkeus Viivan leveys loppu
26 Huomioita Komponen=n taustaväri: setbrush()- metodilla Värit Qt- väreinä tai RGB Myöhemmin piirre3y pei3ää aina aiemmat (ei-laajan kurssin kalvo: luento 7 sivu 6)
27 Mitä painteventin pitää tehdä? GUI-kirjastoissa piirtämistä ei yleensä voi tehdä vain kutsumalla piirroskomentoja sieltä täältä muualta ohjelmasta sillä ohjelman pitää milloin tahansa osata piirtää ikkunansa uudelleen käytännössä paintevent-metodia kutsutaan esim. kun käyttäjä tuo ikkunan näkyviin toisen ikkunan alta käyttöliittymäkirjasto ei siis (yleensä) talleta piirrettyä kuvaa mihinkään itse joissain käyttöliittymäkirjastoissa voidaan myös pyytää piirtämään uudelleen vain osa komponentista yleensä paintevent tehdään piirtämään ikkuna muualla ohjelmassa tallessa olevien ohjeiden mukaan poikkeus: jos kuva vaihtuu tiheään (esim. reaaliaikainen peli, jonka kuva päivittyy monta kertaa sekunnissa), ei välttämättä ole hyötyä piirtää vanhaa kuvaa uudelleen
28 (ei-laajan kurssin kalvo: luento 7 sivu 7) Muita vaihtoehtoja QGraphicsScene + QGraphicsView KomponenHen tapahtumia voi seurata ja niitä voi siirrellä toisistaan riippuma3a Komponen=t helppo paikantaa Scene säilöö komponen=t View näy3ää ne Useampi View voi näy3ää näkymää eri kohdista
29 (ei-laajan kurssin kalvo: luento 7 sivu 8) QGraphicsScene (näkymä) QGraphicsItem QGraphicsView (näköala)
30 (ei-laajan kurssin kalvo: luento 7 sivu 9) class MainWindow(QtGui.QMainWindow): def init (self): self.add_view() clear_ac=on.triggered.connect(self.clear_view) def clear_view(self): self.scene.clear() def add_view(self): self.view = MyView() Luo näköala Luo näkymä self.scene = QtGui.QGraphicsScene() Liitä toisiinsa self.view.setscene(self.scene) self.view.setscenerect(qtcore.qrectf(self.rect())) Näköala asetetaan koko ikkunaksi self.setcentralwidget(self.view)
31 (ei-laajan kurssin kalvo: luento 7 sivu 10) class MyView(QtGui.QGraphicsView): def init (self): super(myview, self). init () Halutaan käy3ää näkymän koordina3eja def mousemoveevent(self, event): end_pos = self.maptoscene(event.pos()) line = QtCore.QLineF(self.current_pos, end_pos) self.scene().addline(line) self.current_pos = end_pos def mousepressevent(self, event): self.current_pos = self.maptoscene(event.pos()) Lisätään näkymään viiva, Joka alkaa edelllisen loppupisteestä Otetaan talteen uuden viivasöherön alkupiste
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Serialisointi, lisää ohjelmien suunnittelusta, GUI-ohjelmointia Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 22. 2. 2012 Sisältö
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 8.11.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 8.11.2017 1 / 30 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotHarjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)
Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
LisätiedotGraafisen käyttöliittymän ohjelmointi
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 4 Valikot ja dialogit Juha-Matti Vanhatupa Sisältö Pääikkuna Valikot Dialogit Pääikkuna (top-level window)
LisätiedotC# Windows ohjelmointi perusopas
Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Aliohjelmat, foreign function interface Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 3. 2013 Sisältö 1 Aliohjelmien käyttäminen
LisätiedotAndroid ohjelmointi Tunti 2. Käyttöliittymät ja resurssit
Android ohjelmointi Tunti 2 Käyttöliittymät ja resurssit Debug Log luokka mahdollistaa debug tulostamisen ADB:n kautta konsoliin (esim. DDMS:ään) esim. Log.println(Log.INFO, TAG, Tämä on println ); Voidaan
LisätiedotGraafisen käyttöliittymän ohjelmointi
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotTapahtumapohjainen ohjelmointi
Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Erot perinteisiin sovelluksiin Sovelluksen kulku ei ole ennalta tiedossa. Start A
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen
LisätiedotQt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia)
Qt perusteet Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Sisältö Käännösprosessi MetaObjectSystem Hyödyt Qt:n moduulit Qt käyttöliittymän muistinhallinta Debug-tulosteet
LisätiedotTilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa
1(13) Tilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa (QuantumGIS) Ohjeita laatiessa on käytetty QuantumGIS:n versiota 2.0.1. Ruudunkaappauskuvat ovat englanninkielisestä versiosta,
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä, kevät
Ohjelmoinnin peruskurssien laaja oppimäärä, kevät Luento 2: Ohjelman suunnittelua, miten oliot toimivat Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 21. 1. 2013 Sisältö 1 Suunnittelua:
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Olioiden toteuttaminen Riku Saikkonen 28. 11. 2011 Sisältö 1 Miten oliot ja metodikutsut toimivat? 2 Oliot Minkä luokan metodia kutsutaan? Python-esimerkki
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotUutiskirjesovelluksen käyttöohje
Uutiskirjesovelluksen käyttöohje Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com 2 Sisällys Johdanto... 1 Päänavigointi...
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotHarjoitus 2: Oppijan aktivointi (15.3.2016)
Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotGEOS 1. Ilmastodiagrammi Libre Office Calc ohjelmalla
GEOS 1 Ilmastodiagrammi Libre Office Calc ohjelmalla Libre Office Calc ohjelman saat ladattua ilmaiseksi osoitteesta: https://fi.libreoffice.org/ Tässä ohjeessa on käytetty Libre Office Calc 5.0 versiota
LisätiedotPlanssit (layouts) ja printtaus
1 / 21 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto 17.11.2015 Planssit (layouts) ja printtaus Yksittäisen kuvan printtaus 2 / 21 Ennen printtausta valitse näkymä, jonka haluat printata, klikkaamalla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 21.3.2011 1 / 42 Listan alkiona viiteitä olioihin Halutaan tehdä ohjelma ohjelmointikurssien opiskelijoiden käsittelyyn.
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 18: Graaset käyttöliittymät Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 3. 3. 2011 Sisältö 1 Graasten käyttöliittymien oliomalli 2
LisätiedotVisma Fivaldi -Ohje Yleisraportin määritykset
Visma Fivaldi -Ohje Yleisraportin määritykset 2 Sisällys 1. Yleisraportin määritys... 3 1.2. Määrittelyn perustiedot... 3 2. Yleisraportin sarakkeistomääritys... 5 2.1. Sarakkeistomäärityksen tiedot...
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 1: Rekursiivinen ajattelutapa, Scheme-kielen perusteita (mm. SICP 11.2.4) Riku Saikkonen 16. 10. 2012 Sisältö 1 Kurssijärjestelyitä 2 Perusteita Scheme-kielestä,
LisätiedotASENNUS- JA KÄYTTÖOHJE
ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO
LisätiedotFlash ActionScript osa 4
Flash ActionScript osa 4 Tekstikentät Flash:ssa tekstikenttä voi olla tyypiltään joko TLF Text tai Classic Text. TLF Text on uusi Flash CS5 tullut tyyppi. Sen animointi ja muotoilu ominaisuudet ovat monipuolisemmat
LisätiedotTapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007
Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit
LisätiedotTestivetoinen ohjelmistokehitys
Testivetoinen ohjelmistokehitys Ohjelman luominen pienin askelin 1. Kirjoita testi, joka testaa ohjelmalle myöhemmin lisättävää toiminnallisuutta. 2. Suorita testi. Testin ei tule mennä läpi. Mikäli testi
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi
LisätiedotLuento 17: Perintä. self.points = 0 self.status = 'Student'
Luento 17: Perintä class Staff(object): def init (self, name, salary): self.salary = salary self.status = 'Staff' def set_name(self, new_name): self.name = new_name def get_status(self): return self.status
LisätiedotWeb Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
LisätiedotOHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa
OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää
LisätiedotJohdatus Ohjelmointiin
Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin
LisätiedotKuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen:
Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen: http://www.kamera73.fi/kuukaudenkuvaaja Kukin seuran jäsen voi laittaa
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
Lisätiedot6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)
6. Tekstin muokkaaminen 6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.) Tekstin maalaaminen onnistuu vetämällä hiirellä haluamansa tekstialueen yli (eli osoita hiiren
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
LisätiedotTapahtumat. Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi.
Tapahtumat Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi Petri Vuorimaa 1 Johdanto Tapahtumien käsittely muodostaa vuorovaikutteisen käyttöliittymän
LisätiedotJAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.3.2010 1 / 49 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 22.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 22.3.2010 1 / 49 Lista luokan kenttänä Luokan kenttä voi olla myös esimerkiksi lista, sanakirja tai oliomuuttuja.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotGimp+Karttapaikan 1:40 000 => 1:50 000. Pika ohje versio 0.5 09042007
Gimp+Karttapaikan 1:40 000 => 1:50 000 Pika ohje versio 0.5 09042007 1:50 000 kartan teko karttapaikan materiaalia & GIMP:iä hyväksikäyttäen 1. Tallenna karttapaikasta 1:40 000 kartta 2. Avaa se Gimpillä
LisätiedotGTK+ ohjelmointi. Juha Järvensivu 2007
GTK+ ohjelmointi Juha Järvensivu 2007 Yleistä GTK+ eli Gimp Toolkit Erityisesti unix-puolella käytetty C-kielinen kirjasto graafisten käyttöliittymien ohjelmointiin LGPL-lisenssi Olennainen osa GNOMEtyöpöytäympäristöä
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotRacket ohjelmointia II. Tiina Partanen 2015
Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotEclipse & WindowBuilder
Eclipse & WindowBuilder Yleistä asiaa WindowBuilder on Eclipsessä oleva työkalu, jolla voi graafisesti tehdä käyttöliittymiä. Käyttö perustuu siihen, ettei varsinaista ohjelmakoodia tarvitse itse tehdä,
Lisätiedot2016/07/05 08:58 1/12 Shortcut Menut
2016/07/05 08:58 1/12 Shortcut Menut Shortcut Menut Shortcut menut voidaan aktivoida seuraavista paikoista. Shortcut menun sisältö riippuu siitä, mistä se aktivoidaan. 1. Shortcut menu suunnitellusta linjasta
LisätiedotKorpusten käsittely clt131, P Luento 4
Korpusten käsittely clt131, P2 2006 Luento 4 Nicholas Volk 24.11.2006 Humanistinen tiedekunta Säännölliset lausekkeet: ryhmittely Sulkujen avulla voidaan osoittaa määrällistäjille
LisätiedotQT tyylit. Juha Järvensivu 2008
QT tyylit Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys QStyle Style sheet Tyyli (QStyle) Kapseloi widgettien Look And Feel ominaisuudet Toteutettu QT:ssa QStyle luokkaan Sisäänrakennettuja tyylejä
LisätiedotRämpytysralli. Pelikehys sisältää GameObject luokan, Scene luokan, SceneManager luokan, InputListener luokan, StaticImage luokan
Materiaalit on lisensoitu Creative Commons BY NC SA lisenssillä, eli materiaalin levittäminen ja muokkaaminen on sallittu, kunhan tekijöiden nimet säilyvät mukana ja jatkoversiot julkaistaan samalla linsenssillä.
LisätiedotTämä dokumentti on tehty pohjaan Muistiopohja_logolla.ott
Muistio 1 (5) Asiakirjapohjien dokumentaatio Asiakirjapohjien tiedostot Tämä dokumentti kuvaa joukon SFS 2487 -standardin mukaisia OpenOfficeasiakirjapohjia. Pohjat on laatinut Martti Karjalainen oikeusministeriön
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
LisätiedotRacket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014
Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 1: Rekursiivinen ajattelutapa, Scheme-kielen perusteita (mm. SICP 11.2.4) Riku Saikkonen 10. 10. 2011 Sisältö 1 Kurssijärjestelyitä 2 Perusteita Scheme-kielestä,
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.10.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
LisätiedotSQL Buddy JAMK Labranet Wiki
Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset
LisätiedotK-Lite Codec Pack v2.48 Asennusohje (toimii myös uusissa versioissa)
K-Lite Codec Pack v2.48 Asennusohje (toimii myös uusissa versioissa) Niko Rautava 2006 http://koti.mbnet.fi/nrautava Kannattaa ainakin kokeilla ensimmäisellä kerralla näiden ohjeitten mukaan, koska tässä
LisätiedotVoit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä.
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.
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotJäsenrekisterin käyttö on jäsenyhdistyksille ilmaista, Sulasol tarjoaa sen jäsenpalveluna.
ifest-jäsenrekisteri Käyttöohje Sulasolin jäsenyhdistyksille (versio 1.1) Sulasolissa on otettu käyttöön uusi jäsenrekisteri, ifest. Rekisterin avulla jokainen jäsenkuoro ja -orkesteri voi itse ylläpitää
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 Layoutit Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi, Talentum 2004. Layout
LisätiedotToisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B.
A Alueet Bittimaassa järjestetään vaalit, joissa on 26 ehdokasta. Jokaisella ehdokkaalla on kirjaintunnus välillä A...Z. Bittimaa on suorakulmion muotoinen ja jaettu neliöruutuihin. Tehtäväsi on selvittää
LisätiedotFrontPage 2000 - Näkymät
FrontPage 2000 - Näkymät FrontPagessa on kuusi erilaista näkymää sivustoon. Sivunäkymä Tässä näkymässä luodaan sivut eli näkymä vastaa paljolti Wordin tekstinkäsittelyohjelman näkymää. Tässä on myös muokattava
LisätiedotVisma Fivaldi -käsikirja Asiakaskohtaiset hinnat
Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Vasemman laidan painikkeet... 5 4 Erikoishinnoittelut ruutu... 6 5 Raportit... 12 1 Yleistä Fivaldi Asiakaskohtaiset
LisätiedotOpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen
Helsingin yliopisto WebOodi 1 OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen Opetustapahtuman opiskelijalistan tulostaminen Ilmoittautuneista opiskelijoista
LisätiedotKÄYTTÖOHJE. Servia. S solutions
KÄYTTÖOHJE Servia S solutions Versio 1.0 Servia S solutions Servia Finland Oy PL 1188 (Microkatu 1) 70211 KUOPIO puh. (017) 441 2780 info@servia.fi www.servia.fi 2001 2004 Servia Finland Oy. Kaikki oikeudet
LisätiedotHOW-TO: Kuinka saan yhdistettyä kaksi tulospalvelukonetta keskenään verkkoon? [Windows XP]
HOWTO: Tulospalveluohjelman asetusten määrittely verkkokäytössä 1/5 HOW-TO: Kuinka saan yhdistettyä kaksi tulospalvelukonetta keskenään verkkoon? [Windows XP] Kaksi tietokonetta saa kytkettyä keskenään
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt
LisätiedotFlowcode 6 Omien komponenttien luonti 3D- tilassa Ledi
Flowcode 6 Omien komponenttien luonti 3D- tilassa Ledi Oman painonappi komponentin luonti 6 versiossa Flowcode 6 versio mahdollistaa omien Flowcode komponenttien tekemisen. Komponentit on mahdollista piirtää
LisätiedotOHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö
OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö Juha-Matti Vanhatupa 2008 Yleistä Tehdään 2 hengen ryhmissä Harjoitustyöhön ilmoittaudutaan lomakkeella www.cs.tut.fi/~grako/ilmo.html Ympäristö:.NET
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2015 1 / 17 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla
LisätiedotYlläpitoalue - Etusivu
Crasmanager 5.2 Ylläpitoalue - Etusivu Sivut osiossa sisällön selaus ja perussivujen ylläpito. Tietokannat osiossa tietokantojen ylläpito. Tiedostot osiossa kuvien ja liitetiedostojen hallinta. Työkalut
LisätiedotAsennus ja käyttöopas
Asennus ja käyttöopas EKRUCBS Asennus ja käyttöopas Suomi Sisällysluettelo Sisällysluettelo Käyttäjälle 2 1 Painikkeet 2 2 Tilakuvakkeet 2 Asentajalle 3 3 Yleiskuvaus: Asentaminen ja määrittäminen 3 4
LisätiedotDXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/
DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.
LisätiedotPong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä
Lisätiedot