Windows api megnyitása qt-ben, qt programozás
Tartalomjegyzék
A program, amelynek ablaka az ábrán látható, bemutatja a GDI funkciók (grafikus eszközinterfész) használatát a grafikus kimenetre a Windows rendszerben. Amikor az egér jobb oldali gombjával kattint az alkalmazásablak területén, az üzenetablakot a Windows API segítségével hívják meg.
A fentiek egy speciális eljárás a Windows események kezelésére - winEvent (). Ha nincs szükség további feldolgozásra az eseményre a Qt használatával. akkor ezt a módszert vissza kell adni. Ennek a módszernek a megvalósítása lényegében nagyon hasonló a Windows ablakfunkció megvalósításához. Esetünkben a jobb egérgombbal való esemény figyelését figyeljük, és ha megnyomjuk, a Windows API MessageBox () függvényét hívjuk meg, ami megjeleníti az üzenetablakot. Ennek a függvénynek az első paramétere, mint szülőablak, a winId () metódus által visszaadott érték. A módszer minden platformon támogatott, és a Windows operációs rendszer esetén visszaadja a hwnd típusnak megfelelő ablakazonosító számot (mutató az ablakhoz).
A paintEvent () metódusban a felirat és az ellipszis megjelenik a GDI funkciók használatával. Figyeld meg a QPaintEngine objektum getDC () metódusának hívását. Visszaküldi a hdc típusú értéket (mutatót az eszköz kontextusához, az eszköz kontextusához), amely szükséges a GDI funkciókhoz, hogy rajzolhassanak. A rajz végén a releaseDC () metódust a QPaintEngine objektumból hívjuk. amelyhez a GDI kontextus fogantyúját (változó hdc) továbbítjuk.
Mint a Windows esetében, a UNIX-nál a Qt biztosítja az események alacsony szintű elérését. A QWidget osztály tartalmazza az x11Event () metódust. amelyre az X Window rendszer eseményeit kell megkapnia. Az események fogadásához ezt a módszert egyszerűen felül kell írni.
Ha az eseményt nem kell tovább feldolgozni a Qt esemény módszerekkel. akkor vissza kell igazolnia ezt a módszert.
A Qt lehetővé teszi platform-specifikus kód használatát programjaiban. Ez hasznos lehet olyan programok végrehajtásához, amelyek a Qt könyvtár által nem biztosított szolgáltatásokat használják.
A QMainWindow egy nagyon fontos osztály, amely végrehajtja a főablakot, amely tartalmazza a legtöbb alkalmazáshoz szükséges tipikus kütyüket, például a menüket, az eszköztár szakaszokat, a munkaterületet, az állapotsorokat. Ebben az osztályban a megjelenés már elkészült, és a widgetek. Tovább.A szerver megvalósításához a Qt egy kényelmes QTcpServer osztályt biztosít, amely a bejövő TCP kapcsolatok kezelésére szolgál. Az ábrán látható program egy egyszerű szerver megvalósítása, amely elfogadja és megerősíti az ügyfélkérések átvételét. Tovább.