Uncategorized

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 4.rész

Az előző bejegyzésekben fokozatosan fejlesztettük a közlekedési tiltó táblákat rajzoló programunkat, és ott tartunk, hogy ki tudjuk rajzolni a „Mindkét oldalról behajtani tilos” táblát, valamint ezen tábla osztályára alapozva, abból örökölve, egy utódosztályt definiáltunk, amiből elő tudunk állítani különböző sebességkorlátozó táblákat. A létrejövő táblák méretét az egérgörgő forgatásával vagy bizonyos billentyűkombinációkkal változtatni is tudjuk. Láttuk …

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 4.rész Read More »

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 3.rész

Az előző bejegyzésben odáig jutottunk a közlekedési tábla rajzoló programunk fejlesztésében, hogy a ProhibitorySign osztály példánya – amely egyben egy konkrét KRESZ tábla is – reagál az egérgörgővel vagy bizonyos billentyűkombinációkkal kiváltott eseményekre, amelyek hatására a kirajzolt tábla mérete változtatható. Most innen lépünk tovább, és egy osztályt fogunk készíteni, amelyek példányai olyan tiltó táblák, amelyek …

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 3.rész Read More »

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 2.rész

Folytatjuk az előző bejegyzésben elkezdett, közlekedési tiltó táblákat rajzoló program továbbfejlesztését azzal, hogy egér és billentyűzet eseményeket, és ezekhez rendelt eseménykezelőket határozunk meg, amelyek hatására a táblák méretét arányosan növelni vagy csökkenteni tudjuk. Az eseménykezelő olyan egyparaméteres hívható objektum (pl. függvény vagy metódus), amely az esemény bekövetkeztekor lesz meghívva és argumentumként egy eseményobjektumot kap, amely …

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 2.rész Read More »

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 1.rész

Ebben a bejegyzésben olyan program kidolgozását kezdjük el, amellyel közlekedési jelzőtáblákat – konkrétabban tiltó táblákat – jeleníthetünk meg grafikus felhasználói felületen. Azért választottuk e KRESZ táblákat, mert elég változatosak, viszont van közös vonásuk, hogy mindegyik kör alakú egy piros szegéllyel. Az egyes táblák a tábla közepén levő tartalomban térnek el, amely lehet szám, szöveg (pl. …

Hogyan készítsünk KRESZ táblákat rajzoló programot? – 1.rész Read More »

Szükséges-e osztályok definiálásával foglalkozni?

Aki a Python alapjait már ismeri, annak nyelvi elemeivel már találkozott, tapasztalhatja, hogy nagyon sok beépített függvény áll rendelkezésre, valamint a saját igényeinkhez illeszkedő függvények is definiálhatók. E függvénydefiníciók változatos formában tehetők meg. Gondoljunk csak például a beágyazott függvényekre, a lambda függvényekre, a parciális függvényekre, dekorátorokra, valamint a generátor- és closure függvényekre. Ez utóbbiak ráadásul …

Szükséges-e osztályok definiálásával foglalkozni? Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 3. rész

Az előző két bejegyzésben (itt és itt) sorozat típusú konténer egyéni osztályát definiáltuk, amely az alapvető kritériumok teljesítése mellett képes a szeletképzésre, valamint egy másik, ugyanilyen típusú sorozatkonténer elemeivel egy új, összefűzött sorozat előállítására. Az osztályunk így is használható, de maradt még egy műveletcsoport, amit érdemes lehet implementálni. Ez pedig nem más, mint az összehasonlító …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 3. rész Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 2. rész

Az előző bejegyzésben sorozat típusú konténer egyéni igényekre szabott osztályát definiáltuk, amely a sorozat típusú konténerek alapvető kritériumait teljesíti. Most ezt az osztályt fejlesztjük tovább úgy, hogy képes legyen a szeletképzésre (slicing), valamint egy másik, ugyanilyen típusú sorozatkonténerrel való összefűzésre (concatenation). Ahogy az előző bejegyzésben említettük, a szeletképzés képességét a __getitem__ metódus megfelelő implementálásával lehet …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 2. rész Read More »

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 1. rész

Az legutóbbi bejegyzésben sorozat típusú konténer elemeinek körkörös léptetéséről, más szóval forgatásáról volt szó, ahol több függvényt is készítettünk erre a célra. Ezek megvalósítása abban különbözött, hogy milyen előfeltételt kell, hogy teljesítsen az argumentumként átadott sorozat típusú konténer. Ilyen kritérium volt, hogy a sorozatobjektumra értelmezett-e a szeletképzés és az összefűzés művelete-e vagy sem, vagy hogy …

Hogyan definiáljunk saját sorozat típusú konténerobjektumot? – 1. rész Read More »

Hogyan „forgassuk” egy sorozat elemeit?

Az előző bejegyzésben, a naptár alkalmazás igényeink szerinti működéséhez szükség volt egy lista elemeinek forgatására. Egy sorozat típusú konténer elemeinek n-szeres forgatásán azt értjük, hogy az első n darab elem kikerül a sorozatból és a sorrendet megtartva a sorozat végére kerül. Ezt nevezzük balra forgatásnak, mert a sorozat elemei, az eredetihez képest balra tolódnak. Ennek …

Hogyan „forgassuk” egy sorozat elemeit? Read More »

Hogyan készítsünk egyszerű naptár alkalmazást?

Az előző néhány bejegyzésben táblázatba rendezhető adatok feldolgozásával és grafikus megjelenítésével foglalkoztunk. Először egyszerű mátrix létrehozása és ehhez alapműveletek definiálása volt a téma. Ezt követően készítettünk egy Sudoku, majd pedig egy Wordle játékot a táblázatos adatok és azok grafikus felhasználó felületen (GUI) történő megjelentésének valós alkalmazásban történő bemutatására. Láthattunk, hogy a rácsos elrendezés kirajzolása alapjaiban …

Hogyan készítsünk egyszerű naptár alkalmazást? Read More »