Što je QT: instalacija, značajke rada, recenzije programera

Cross-platform struktura QT-a (KP-struktura) koristi se kao grafički alat i također korisna u stvaranju CLI aplikacija. Radi na tri glavna stolna računala, mobilne operacijske sustave (Symbian, Nokia Belle, Meego Harmattan, MeeGo) i ugrađene uređaje koji mogu uzeti produženje QT intervala.

Povijest razvoja programa

Razvoj QT-a pokrenuli su 1990. norveški programeri Ayr Chambé-Eng i Haavard Nord. Njihova tvrtka Trolltech prodala je QT licence i pružila tehničku podršku. Danas je tvrtka nazvana Tvrtka QT i podružnica Digia Plc, sa sjedištem u Finskoj. Iako je glavni pokretač, sada ga razvija veći savez.


Sastoji se od mnogih tvrtki i pojedinaca diljem svijeta i djeluje pomoću meritokratskog modela upravljanja. Svatko tko želi može se pridružiti timu. Postoji mnogo načina za osobni doprinos QT projektu. Što to znači? To je, na primjer, pisanje koda ili dokumentacije za okvir, prijavljivanje grešaka ili pomaganje drugim korisnicima na forumu i održavanje stranice na internetu. Iako se bilo koji sustav izgradnje može koristiti s programom, on ima svoj vlastiti qmake. To je platformska platforma bazirana na platformama, kao što su GNU Make, Visual Studio i Xcode. CMake je također popularna alternativa razvoju projekta. Malo ljudi zna da je takav QT dostupan s različitim licencama. Ovo je reklama ibesplatni softver u nekoliko verzija GPL i LGPL.


Podrška za QT 4 integrirana je prije mnogo godina, a QT 5 je pružio podršku u ranoj fazi. Novi projekt QT Suite Build aka Qbs upravo je objavljen. Ovo je QML-based sustav za izgradnju koji također podržava javascript i CMake pakiranje.

Integrirano razvojno okruženje

Struktura KP-a dolazi s vlastitim integriranim razvojnim okruženjem (IDE) nazvanim QT Creator, koji se izvodi na Linuxu, OS X i Windowsu. Nudi inteligentno dovršavanje koda, osvjetljavanje sintakse, integriranu helpdesk, debugger i integraciju svih glavnih sustava za kontrolu verzija, kao što je git, Bazaar. Osim razvijanja QT Creatora u sustavu Windows, možete koristiti dodatak za Visual Studio i druge IDE-ove, kao što je KDevelop na KDE-u. Struktura KP savršeno podržava internacionalizaciju (i18n) i lokalizaciju (l10n). Alat QT Linguist i njegovi partneri za lupdate, lrelease i lconvert olakšavaju prevođenje aplikacija na tražene jezike. Podržava većinu sustava za snimanje koji se danas koriste. Grafičko sučelje stvara se izravno na C ++. Imajte na umu da QT ovu radnju izvodi pomoću modula Widgets. Također dolazi s interaktivnim QT Designer grafičkim alatom, koji funkcionira kao generator koda za grafičke sučelja na temelju widgeta. QT Designer se može koristiti samostalno.

Razvoj grafičkog sučelja

QTQuick pruža potrebne module za stvaranje grafičkog sučelja s QML-om. Cjelokupne programe možete pisati samo u QML-u, ali, u pravilu, GUI je napisan u QML-u, a pozadinski programimplementiran na C ++. Osim toga, Creator ima ugrađeni grafički dizajner QTQuick i scroller.
CP-struktura je mnogo više od jednostavnog GUI alata. Pruža module za razvoj više platformi na području mreža, baza podataka, OpenGL, web tehnologija, senzora, komunikacijskih protokola (Bluetooth, serijski portovi, NFC), XML obrade, JSON, ispis, generiranje PDF-a, QT intervali mnogo više. Aplikacije koje ga koriste obično se pišu na C ++, a QML vezovi na drugim jezicima postoje i mogu ih osigurati treće strane. Riverbank Computing je, primjerice, komercijalni i besplatni softver za Pythonove veze (PyQT). Treba naglasiti da takav QT ima mnogo atributa koji se mogu mijenjati pomoću gettera i setera. Ako se atribut naziva foo, povezani getter i setter imat će sljedeći naslov: T foo () const void setFoo (const T). QT interval proširuje sustav atributa, getters i setters koji su svojstva. Potrebno je objasniti specifičnu terminologiju. Svojstvo je vrijednost bilo koje vrste kojoj se može pristupiti, promijeniti ili konstantno obavijestiti o promjeni. Sustav svojstava je koristan, posebno u trećem dijelu (QML).

Hijerarhija klasa C

QT široko koristi nasljeđivanje, osobito u modulu Widgets. QObject je osnovna klasa. Pruža neke vrlo moćne značajke:
  • Možete postaviti ime kao niz za traženje objekata.
  • Roditeljski sustav.
  • Signali i utori.
  • Upravljanje događajima. Widgeti mogu reagirati na događaje i koristiti sustav roditeljskih sustava, signala iutora. Naslijeđene su iz QObject. Najjednostavniji widget je QWidget. Sadrži većinu svojstava koja se koriste za opisivanje prozora ili widgeta kao što su položaj i veličina, pokazivač miša i opisi alata.
    QT widget može biti i prozor. Stoga nema potrebe za QWindow klasom. Gotovo svi grafički elementi naslijeđeni su iz QWidgeta:
  • QAbstractButton, osnovna klasa za sve tipke tipki.
  • Extension QT skala.
  • QPushButton.
  • QCheckBox.
  • QRadioButton.
  • QFrame koji prikazuje okvir.
  • QLabel, koji prikazuje tekst ili slike.
  • Ovo nasljeđivanje se provodi kako bi se olakšalo upravljanje svojstvima. Neki od njih, kao što su veličina i kursori, mogu se primijeniti na druge grafičke komponente, dok QAbstractButton osigurava kvalitetu koju dijele svi gumbi.

    Sustav roditeljskog nadzora

    Ovaj upravljački sustav je prikladan način rada s objektima u QT-u, posebno s widgetima. Bilo koji objekt koji nasljeđuje QObject može imati nadređeni i podređeni element. Ovo stablo hijerarhije olakšava rad:
  • Kada je objekt uništen, sve njegove roditeljske veze se također čiste. Stoga poziv za brisanje postaje nepotreban.
  • Pomoćni widgeti u QWidgetu automatski se pojavljuju unutar roditelja. Gotovo svi alati korisničkog sučelja imaju mehanizam za otkrivanje i reagiranje na radnju.

    Signali i utori

    QT pruža dva koncepta visoke razine: signale i utore. Signal je poruka o promjeni statusa objekta. Postoji mjestofunkcija koja se koristi za primanje i odgovaranje na signal. Ovi su pojmovi korisni za pritiskanje gumba, ali mogu učiniti mnogo više. Na primjer, koriste se za prijenos informacija. Pretpostavite da vam je tijekom reprodukcije pjesme potreban pokazatelj koji pokazuje koliko je vremena preostalo prije nego što je zvuk gotov. Media player može biti klasa koja se koristi za provjeru napretka medija. Primjer ove klase može povremeno slati signal koji označava vrijednost promjene. Hipotetska klasa korištena za testiranje napretka može dati signal koji ima potpis: void MediaProgressManager :: tick (int milisekundi). Ako programer spaja signal na slot koji ne koristi iste parametre, korisnik će dobiti upozorenje: QObject :: connect: Nevezujući argumenti pošiljatelja /primatelja. To je zbog činjenice da signal prenosi informaciju u utor pomoću određenih parametara. Značajke koncepata:
  • Jedan signal može biti spojen na nekoliko utora.
  • Mnogi signali mogu se spojiti na jedan utor.
  • Signal se može spojiti na drugi signal - to se zove relej.
  • Drugi signal se šalje ako stigne prvi.
  • Pronalaženje pitanja kompilacije

    Prilikom kompajliranja programa, posebno u situacijama kada je dodana Q_OBJECT makronaredba, može postojati pogreška: main.cpp: nedefinirana referenca na vtable za prozor.
    To je zbog činjenice da se prevodilac ne pokreće u metaobjektnoj klasi. U ovom slučaju, qmake se ponovno pokreće izvršavanjem naredbeIzradi & gt; Pokrenite qmake Gumb je standardna komponenta grafičkog sučelja strukture KP-a. Često se koristi za izradu jedinstvenog izbora s popisa, na primjer, u QT QRadioButton za stvaranje prekidača.
    Zahvaljujući svojoj baštini, QRadioButton se ponaša kao QPushButton. Sva svojstva su ista. Prema zadanim postavkama, QRadioButtons nisu grupirani, tako da se mnogi od njih mogu provjeriti u isto vrijeme. Da biste imali "ekskluzivno" ponašanje mnogih prekidača, morate omogućiti QButtonGroup. To se radi na sljedeći način: dodijeliti novu grupu gumba i pričvrstiti je na nadređeni objekt. Napominjemo da to može biti glavni prozor.

    Instaliranje SDK-a za Symbian i Nokia

    Da biste počeli koristiti QT aplikacije, trebate nabaviti njegovu knjižnicu i IDE. Možete ih stvoriti iz izvora ili ih prenijeti kao SDK. Oni uključuju mnoge značajke kao što su cross-compilers za Symbian i Nokia. Obavezno koristite ove pakete:
  • Dokumentacija QMake.
  • ​​
  • Dokumentacija QT.
  • QT 481 Destkop.
  • QT Creator.
  • Možete odabrati druge pakete ako vam je potreban razvoj za Symbian /Maemo /Meego, kao i one koji imaju stariju verziju QT-a. U Linuxu je bolje koristiti pakete koje nudi distribucija. QT Creator bi trebao biti dostupan u gotovo svim distribucijama. Kada se raspakira, instalira sve ovisnosti, na primjer, knjižnice, kompilatore i razvojne zaglavlja. Sada možete stvoriti prvi prozor pisanjem uobičajenog "Pozdrav svijetu".
    Prije stvaranja prve grafičke aplikacije, Open Creator IDE C ++, koji je vrlo pogodan za kodiranje QT aplikacija. On dajedoc preglednik i „dizajner”, koja olakšava stvaranje prozora. Oni su ugrađeni u dobro osmišljen korisničko sučelje. QT se koristi za određivanje što knjižnice i moduli su u projektu. Budući da je prvi zahtjev obično je mali grafičko sučelje, korisnici trebaju QTCore i QTGui. Sada dodajte polazna točka programa. Uzmi datoteku projekta ili C ++. C ++ source file bi trebao obaviti posao. Slijedite čarobnjaka, postavljanje naziv datoteke glavni. Nakon toga, projekt je spreman. U novom projektu datoteke pojavljuje QT linije automatski dodaje Stvoritelja. QApplication - vrlo važna klasa. Ona vodi brigu o ulaznih argumenata i niza događaja. Radi pri pokretanju app.exec (). Pri sastavljanju ovog programa, kliknite na zelenu strelicu u donjem lijevom kutu. Stvoritelj skompylyruet i obavljaju produljenje intervala QT. Ciklus događanja će biti pokrenuta i da će čekati za radnje kao što klikova mišem u grafičkom sučelju. Nakon sastavljanja korisniku će se vidjeti prvi QT prozor. Kako će izgledati na zaslonu je prikazano na slici ispod.

    montažni sustav Gmake

    Stvoritelj obavlja poslove nazvati sustav, ali važno je znati kako je program sastavljen QT. Ako su male, lako je ručno kreiranje objekata datoteke, a zatim kombinirajući ih. No, za velike projekte je komplicirano naredbenog retka za pisanje. U svim Linux aplikacije sastavio pomoću make-datoteke koja opisuje naredbenog retka. Gmake - sustav za prikupljanje, koji dolazi s QT programa. To stvara datoteke za make-developer. Uz jednostavna sintaksa datoteka stvorena,koja se koristi za sastavljanje QT programa. Ali to nije jedina svrha. QT koristi metaobjekte za proširenje funkcionalnosti C ++, qmake je odgovoran za pripremu datoteke koja sadrži ovu fazu ekstrakcije. QT program je sastavljen u 3 koraka:
  • .Pro datoteka je napisana da opiše projekt za kompilaciju.
  • Datoteka make je izrađena pomoću qmake.
  • Program je izgrađen korištenjem NMake na prozorima.
  • Instaliranje programa Windows Creator

    Da biste instalirali program, idite na službenu stranicu Stvoritelja i preuzmite softver. Odaberite preporučeni bootloader:
  • QT Online Installer za Windows. Kliknite gumb "Preuzmi" na dnu stranice, nakon čega započinje postupak.
  • Pokrenite QT Creator .exe instalacijski program dvostrukim klikom miša da biste pokrenuli priloženu aplikaciju u kojoj će biti instalirana na računalu.
  • Za većinu zaslona možete jednostavno kliknuti na "Next" da biste prešli na sljedeću opciju.
  • Na zaslonu "Registracija" možete kliknuti "Preskoči".
  • Na ekranu komponenti lopova, neke verzije s Alpha, Beta ili Preview nisu odabrane, dok se instalira MinGW.
  • Proširite trokut QT, zatim QT 5112, a zatim provjerite MinGW 5 .xx 32 bit.
  • Ako se to ne učini, računalo neće moći kompajlirati i pokretati programe na C ++. Za sve sljedeće zaslone izvedite QT Windows:
  • Kliknite Dalje, Prihvati ili Instaliraj da biste dovršili instalaciju.
  • Zatim kliknite "Završi" da biste pokrenuli Stvoritelja.
  • Pokušajte sastaviti /pokrenuti uzorak projekta.
  • Provjerite rade li svi dijelovipokrenuti projekt koji koristi Stanford C ++ knjižnice.
  • Preuzmite sljedeću datoteku ZIP projekta na svoje računalo: sample-project.zip. Trebao bi imati direktorij nazvan uzorak-projekt i nekoliko mapa.
  • Otvorite projekt. U programu Stvoritelj odaberite Datoteka - & gt; "Otvori datoteku ili projekt" ili pritisnite Ctrl + O (Command + O na Mac računalu).
  • Idite u mapu projekta uzorka i otvorite datoteku sample-project.pro. Stvoritelj će vam postaviti nekoliko pitanja o tome kako postaviti proces izgradnje ovog projekta.
  • Korisnik jednostavno prihvaća zadanu vrijednost i klikne na "Konfiguriraj projekt".
  • Savjeti za lutke

    Da biste koristili aplikaciju, trebate posebne informacije o njezinim funkcijama. Najkompletniji paket dokumentacije dostupan je na mreži razvojnih programera. Ona pruža DocNotes koje korisnici mogu dodati. Ako je QTSDK ispravno instaliran, dokumentacija koja odgovara trenutnoj verziji QT-a također mora biti instalirana. Također možete koristiti QT pomoćnik, koji je autonomni preglednik dokumenata. Važni odjeljci dokumentacije:
  • QT pomoćnik.
  • QT Designer.
  • QT lingvist.
  • QMake.
  • Najvažnija komponenta je QT referentna dokumentacija. Omogućuje dobar unos mnogih komponenti. Ovaj se popis pojavljuje na stranici "Sve klase". Još jedna zanimljiva stranica je ona u kojoj su navedeni svi moduli. Pruža informacije o različitim komponentama. Dokumentacija u razredu je organizirana na sljedeći način:
  • Naziv i kratak opis razreda.
  • Nasljeđivanje.
  • Prijenos.
  • Svojstva.
  • Javne metode.
  • Otvorite mjesta.
  • Signali.
  • Zaštićene metode.
  • Recenzije

    Godišnje se povećava broj QT korisnika. Programeri u svojim recenzijama ne samo napisati da je struktura je prilično zgodan, jeftin, visoke kvalitete, ali također daje novak sve njegove prednosti. Evo nekih od njih:
  • Sučelje je čisto i razumljivo. Ona ima sve potrebne alate za izlaz konzole, ispravljanje pogrešaka, praćenje i također ima korisnu funkcionalnost za prebacivanje između funkcija i njihovih definicija.
  • Funkcionalnost QT-a za stvaranje, otklanjanje pogrešaka i praćenje izuzetno je korisna, pogotovo kada je riječ o pokušaju pronalaženja pogrešaka u kodu softverskog proizvoda.
  • Možete jednostavno otići u odjeljak koda, što uzrokuje problem vidjeti lokalne varijable i njihov sadržaj u stvarnom vremenu.
  • Dizajner /obrasci korisničkog sučelja iznimno štede vrijeme pri izradi složenih sučelja. Ako ga ne koristite, potrebni su ručni ručni unosi.
  • U QT-u, njegove se biblioteke i kompajleri lako održavaju u postavkama profila radi lakšeg prebacivanja i naknadne uporabe.
  • Kao što možemo vidjeti, cross-platform struktura može obuhvatiti sve ciljne platforme s jednom tehnologijom i bazom kodova, što smanjuje vrijeme ulaska na tržište i opterećenje održavanja.

    Povezane publikacije