Folosind ferestrele api în qt, programarea qt

Cuprins

Programul, a cărui fereastră este prezentată în figură, demonstrează posibilitatea utilizării funcțiilor GDI (Graphical Device Interface) pentru ieșirea grafică în Windows. Când faceți clic dreapta pe fereastra aplicației, fereastra de mesaje este apelată prin API-ul Windows.

Cele de mai sus sunt o metodă specială pentru gestionarea evenimentelor pentru Windows - winEvent (). Dacă nu aveți nevoie de procesarea ulterioară a evenimentului utilizând Qt. atunci această metodă trebuie returnată adevărată. Implementarea acestei metode, în esența sa, este foarte asemănătoare cu implementarea funcției de fereastră Windows. În cazul nostru, evenimentul cu clic dreapta al mouse-ului este monitorizat și, dacă este apăsat, se numește funcția MessageBox () a API-ului Windows, care afișează fereastra de mesaje. Primul parametru al acestei funcții, ca fereastră părinte, este valoarea returnată de metoda winId (). Metoda este acceptată pentru toate platformele și, în cazul sistemului de operare Windows, returnează numărul de identificare a ferestrei corespunzător tipului hwnd (un indicator pentru fereastră).

În metoda paintEvent (), inscripția și elipsa sunt afișate utilizând funcțiile GDI. Observați apelul la metoda getDC () a obiectului QPaintEngine. Acesta returnează o valoare a tipului hdc (un indicator pentru Contextul dispozitivului, contextul dispozitivului) care este necesar pentru funcțiile GDI pentru a putea desena. La sfârșitul desenului, numim metoda releaseDC () din obiectul QPaintEngine. la care transmitem mânerul contextului GDI (hdc variabil) pentru al închide.

Ca și în cazul Windows, pe UNIX, Qt oferă posibilitatea accesării evenimentelor la un nivel scăzut. Clasa QWidget conține metoda x11Event (). care este necesar pentru a primi evenimentele din X Window System. Pentru a primi evenimente, această metodă pur și simplu trebuie să fie suprascrisă.

Dacă este necesar ca evenimentul să nu fie supus prelucrării ulterioare prin metodele de eveniment Qt. atunci trebuie să reveniți la adevărat din această metodă.

Qt permite utilizarea codului specific platformei în programele sale. Acest lucru poate fi util pentru implementarea programelor care utilizează funcții care nu sunt furnizate de biblioteca Qt.

QMainWindow - aceasta este o clasă foarte importantă care pune în aplicare fereastra principală care conține un eșantion de widget-uri necesare pentru cele mai multe aplicații, cum ar fi o secțiune meniu pentru bare de instrumente, bara de stare zona de lucru. În această clasă, aspectul este deja pregătit și widget-urile sale. Mai departe.
  • Clasa QFile este moștenită din clasa QIODevice. Conține metode de lucru cu fișiere: deschiderea, închiderea, citirea și scrierea datelor. Puteți crea un obiect trecând un șir care conține numele fișierului în constructor. Nu puteți trimite nimic în constructor, dar faceți acest lucru după crearea obiectului, apelând metoda. Mai departe.
  • Pentru a implementa serverul, Qt oferă o clasă convenabilă QTcpServer, care este proiectată să gestioneze conexiunile TCP primite. Programul prezentat în figura este implementarea unui server simplu care acceptă și confirmă primirea cererilor clientului. Mai departe.



















  • Articole similare

    Trimiteți-le prietenilor: