Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Kanyó Kristóf Milacski Zoltán
EVA – 3. óra Kanyó Kristóf Milacski Zoltán
2
Kasztolás (Leírás) Az eseménykezelő segítségével meg tudtuk oldani, hogy egy objektumhoz valamilyen signal hatására (pl.: click) hozzárendeltünk az eseménykezelőt Az eseménykezelőnk pedig módosította a megadott gombnak a tartalmát Mi van akkor, ha több gombunk is van, és az összesre ugyanazt az eseménykezelőt szeretnénk rákötni úgy, hogy annak a gombnak a tartalmát módosítsa amelyikre rákattintottunk? Megoldás: sender() - függvénnyel lekérni a küldő objektumot qobject_cast<típus>(változó) – segítségével konvertálni a megfelelő típusra
3
Kasztolás (Header)
4
Kasztolás (Source)
5
Kasztolás (Run)
6
Időzítő (Leírás) Sok feladat megoldásához szükség van az időzítő használatára: Mérni az időt Az ellenfél adott időközönként lép ... Időzítőnél meg kell adni, hogy az időzítő objektum hány ezredmásodpercenként jelezzen Majd az időzítő timeout() signal-hoz hozzá kell rendelni egy eseménykezelőt Start() – tal lehet elindítani az időzítőt Stop() – pal lehet leállítani
7
Timer (Header)
8
Timer (Source)
9
Timer (Run)
10
Küldő objektum megkeresése (Leírás)
Gyakran van szükség arra, hogy meg tudjuk határozni, hogy az adott objektum a vektorban hol helyezkedik el Pl.: tudni akarjuk, hogy az adott gomb, amelyre rákattintottunk a rácsban hányadik sorban és hányadik oszlopban helyezkedik el 1. megoldás: A qobject_cast<QPushButton*>(sender()) segítségével meghatározzuk a küldő QPushButton-t Majd lineáris kereséssel megkeressük a vektorban az adott gombot Hátránya: Sok objektum esetén nagy a keresés műveletigénye
11
Küldő objektum megkeresése (Header)
12
Küldő objektum megkeresése (Source-1)
13
Küldő objektum megkeresése (Source-2)
14
Küldő objektum megkeresése (Run)
15
Saját PushButton (Leírás)
Gyakran van szükség arra, hogy meg tudjuk határozni, hogy az adott objektum a vektorban hol helyezkedik el Pl.: tudni akarjuk, hogy az adott gomb, amelyre rákattintottunk a rácsban hányadik sorban és hányadik oszlopban helyezkedik el 2. megoldás: Hozzunk létre egy saját PushButton-t, amely a QPushButton-on felül eltárolja a sort és az oszlopot is
16
Saját PushButton (mypushbutton.h)
17
Saját PushButton (mypushbutton.cpp)
18
Saját PushButton (widget.h)
19
Saját PushButton (widget.cpp)
20
Saját PushButton (Run)
21
MessageBox(Leírás) Az egyik legegyszerűbb módja a felhasználó tájékoztatására Több fajtája van: Question Information Warning Critical Több féle gombot lehet elhelyezni rajta: Yes No Cancel … Könnyen lekezelhető, hogy melyik gombra kattintott a felhasználó
22
MessageBox (Header)
23
MessageBox (Source - 1)
24
MessageBox (Source - 2)
25
MessageBox (Run)
26
SaveFileDialog(Leírás)
Segítségével a felhasználó meg tudja adni a file mentési útvonalát és a file nevét Meg lehet adni, hogy milyen kiterjesztések közül tudjon választani a felhasználó A dialog csak az útvonalat adja vissza, arról külön kell gondoskodni, hogy el is mentse a file-t
27
SaveFileDialog (Header)
28
SaveFileDialog (Source)
29
SaveFileDialog (Run)
30
OpenFileDialog(Leírás)
Segítségével a felhasználó meg tudja adni a file betöltési útvonalát és a file nevét Ellenőrzi is, hogy létezik-e a file Meg lehet adni, hogy milyen kiterjesztések közül tudjon választani a felhasználó A dialog csak az útvonalat adja vissza, arról külön kell gondoskodni, hogy be is töltse a file-t
31
OpenFileDialog (Header)
32
OpenFileDialog (Source)
33
OpenFileDialog (Run)
34
Mini Program (Leírás) Hozzunk létre egy olyan programot, amely létrehoz n x n méretű gombrácsot (10, 15, 20) A gombok kezdeti szövegei üresek Ha egy üres gombra kattintunk rá, akkor az értéke legyen 0 Ha nem egy üres gombra kattintunk rá, akkor az értékét növeljük 1- el Ha egy gomb értéke eléri a 10-et, akkor az értéke legyen újra 0 Új játék kezdésénél gondoskodjunk az előző pálya törléséről
35
Mini Program (Megvalósítása)
Mellékelve
36
Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.