Kaj je QT: namestitev, značilnosti dela, pregledi programerjev

Cross-platform struktura QT (KP-struktura) se uporablja kot grafični komplet orodij in je uporaben tudi pri ustvarjanju aplikacij CLI. Deluje na treh večjih namiznih računalnikih, mobilnih operacijskih sistemih (Symbian, Nokia Belle, Meego Harmattan, MeeGo) in vgrajenih napravah, ki lahko podaljšajo QT interval.

Zgodovina razvoja programa

Razvoj QT so leta 1990 uvedli norveški programerji Ayr Chambé-Eng in Haavard Nord. Njihovo podjetje Trolltech je prodalo QT licence in zagotovilo tehnično podporo. Podjetje se danes imenuje Podjetje QT in je hčerinsko podjetje Digia Plc, s sedežem na Finskem. Čeprav je glavni gonilnik, ga zdaj razvija večja zveza.


Sestavlja ga veliko podjetij in posameznikov po vsem svetu in deluje z meritokratskim modelom upravljanja. Kdor želi, se lahko pridruži ekipi. Obstaja veliko načinov za osebni prispevek k projektu QT. Kaj to pomeni? To je na primer pisanje kode ali dokumentacije za okvir, poročanje o hroščih ali pomoč drugim uporabnikom na forumu in vzdrževanje strani na internetu. Čeprav se lahko s programom uporablja kateri koli gradbeni sistem, ima lasten qmake. Gre za platformno platformo, ki temelji na platformah, kot so GNU Make, Visual Studio in Xcode. CMake je tudi priljubljena alternativa za razvoj projekta. Malo ljudi ve, da je tak QT na voljo z različnimi licencami. To je komercialna inbrezplačno programsko opremo v več različicah GPL in LGPL.


Podpora QT 4 je bila vključena pred mnogimi leti, QT 5 pa je zagotovila podporo že v zgodnji fazi. Nov projekt QT Suite Build aka Qbs se je pravkar izdal. To je sistem za gradnjo QML, ki podpira tudi javascript in CMake embalažo.

Integrirano razvojno okolje

KP-struktura prihaja z lastnim integriranim razvojnim okoljem (IDE), imenovanim QT Creator, ki deluje na Linux, OS X in Windows. Ponuja inteligentno dopolnjevanje kode, poudarjanje skladenj, integrirano službo za pomoč uporabnikom, iskalnik napak in integracijo vseh večjih sistemov za nadzor različic, kot je git, Bazaar. Poleg razvijanja orodja QT Creator v operacijskem sistemu Windows lahko uporabite tudi dodatek za Visual Studio in druge IDE-je, kot je KDevelop na KDE. Struktura KP odlično podpira internacionalizacijo (i18n) in lokalizacijo (l10n). Orodje QT Linguist in njegovi partnerji lupdate, lrelease in lconvert olajšajo prevajanje aplikacij v zahtevane jezike. Podpira večino zapisovalnih sistemov, ki se uporabljajo danes. Grafični vmesnik je ustvarjen neposredno na C ++. Upoštevajte, da QT to dejanje izvaja z modulom Widgets. Na voljo je tudi interaktivno grafično orodje QT Designer, ki deluje kot generator kode za grafične vmesnike na osnovi pripomočkov. QT Designer se lahko uporablja samostojno.

Razvoj grafičnega vmesnika

QTQuick zagotavlja potrebne module za ustvarjanje grafičnega vmesnika s QML. Celotne programe lahko napišete samo v QML, vendar je praviloma grafični vmesnik napisan v QML in program za ozadjena C ++. Poleg tega ima Creator vgrajen grafični oblikovalec QTQuick in scroller.
Struktura CP je veliko več kot preprosto orodje GUI. Zagotavlja module za razvoj različnih platform na področju omrežij, baz podatkov, OpenGL, spletnih tehnologij, senzorjev, komunikacijskih protokolov (Bluetooth, serijska vrata, NFC), obdelave XML, JSON, tiskanja, generiranja PDF, QT intervalov veliko več. Aplikacije, ki ga uporabljajo, so običajno napisane v jeziku C ++, obstajajo pa tudi povezave QML v drugih jezikih, ki jih lahko zagotovijo tretje osebe. Riverbank Computing je na primer komercialna in brezplačna programska oprema za povezave Python (PyQT). Poudariti je treba, da ima tak QT veliko atributov, ki jih je mogoče spremeniti z uporabo getterjev in nastavitev. Če se atribut imenuje foo, bodo povezani getter in setter imeli naslednji napis: T foo () const void setFoo (const T). Interval QT razširja sistem atributov, getterjev in urejevalnikov, ki so lastnosti. Treba je pojasniti posebno terminologijo. Lastnost je vrednost katere koli vrste, do katere je mogoče dostopati, spreminjati ali konstantno, in sporočiti spremembo. Sistem lastnine je koristen, zlasti v tretjem delu (QML).

Hierarhija razredov C

QT široko uporablja dedovanje, zlasti v modulu Widgets. QObject je osnovni razred. Zagotavlja nekaj zelo zmogljivih funkcij:
  • Ime lahko nastavite kot niz za iskanje objektov.
  • Starševski sistem.
  • Signali in reže.
  • Upravljanje dogodkov.
  • Pripomočki se lahko odzovejo na dogodke in uporabljajo sistem starševskih sistemov, signalov inreže Podedovani so iz QObject. Najpreprostejši pripomoček je QWidget. Vsebuje večino lastnosti, ki se uporabljajo za opis oken ali pripomočkov, kot so položaj in velikost, kazalec miške in opisi orodij.
    Pripomoček QT je lahko tudi okno. Zato ni potrebe po razredu QWindow. Skoraj vsi grafični elementi so podedovani iz QWidget:
  • QAbstractButton, osnovni razred za vse tipe gumbov.
  • Lestvica za podaljšanje QT.
  • QPushButton.
  • QCheckBox.
  • QRadioButton.
  • QFrame, ki prikazuje okvir.
  • QLabel, ki prikazuje besedilo ali slike.
  • To dedovanje se izvaja, da se olajša upravljanje lastnosti. Nekatere od njih, kot so velikost in kazalci, lahko uporabite za druge grafične komponente, medtem ko QAbstractButton zagotavlja kakovost, ki je skupna vsem gumbom.

    Sistem starševskega nadzora

    Ta nadzorni sistem je priročen način za delo s predmeti v QT, zlasti s pripomočki. Vsak objekt, ki podeduje QObject, ima lahko starševski in podrejeni element. To drevo hierarhije olajša delo:
  • Ko je objekt uničen, se očistijo tudi vse njegove nadrejene povezave. Tako brisanje klica postane nepotrebno.
  • Pomožni pripomočki v QWidget se samodejno prikažejo v nadrejenem.
  • Skoraj vsa orodja uporabniškega vmesnika imajo mehanizem za odkrivanje in odzivanje na dejanje.

    Signali in reže

    QT zagotavlja dva koncepta na visoki ravni: signale in reže. Signal je sporočilo o spremembi statusa objekta. Obstaja režofunkcijo, ki se uporablja za sprejemanje in odzivanje na signal. Ti koncepti so uporabni za pritiskanje gumbov, vendar lahko naredijo še veliko več. Uporabljajo se na primer za prenos informacij. Predpostavite, da med predvajanjem skladbe potrebujete indikator, ki bo pokazal, koliko časa je ostalo pred zvokom. Predstavnostni predvajalnik je lahko razred, ki se uporablja za preverjanje napredka medijev. Primer tega razreda lahko občasno pošlje signal, ki označuje vrednost spremembe. Hipotetični razred, ki se uporablja za testiranje napredka, lahko da signal, ki ima podpis: void MediaProgressManager :: tick (int milisekund). Če razvijalec poveže signal z režo, ki ne uporablja istih parametrov, bo uporabnik dobil opozorilo: QObject :: connect: Nevezujoči argumenti pošiljatelja /prejemnika. To je posledica dejstva, da signal prenaša informacije v režo z uporabo določenih parametrov. Značilnosti konceptov:
  • En signal se lahko poveže z več režami.
  • Številni signali se lahko priključijo na eno režo.
  • Signal se lahko poveže z drugim signalom - to se imenuje rele.
  • Drugi signal se pošlje, če prispe prvi.
  • Iskanje vprašanj o kompilaciji

    Pri prevajanju programa, zlasti v primerih, ko je dodan makro Q_OBJECT, lahko pride do napake: main.cpp: nedefinirana referenca na vtable za okno.
    To je posledica dejstva, da se prevajalnik ne zažene v metaobjektnem razredu. V tem primeru se qmake znova zažene z izvajanjem ukazaBuild & gt; Zaženite qmake Gumb je standardna komponenta grafičnega vmesnika strukture KP. Pogosto se uporablja za izdelavo edinstvene izbire s seznama, na primer v QT QRadioButton za ustvarjanje stikal.
    Zahvaljujoč svoji dediščini se QRadioButton obnaša tako kot QPushButton. Vse lastnosti so enake. Po privzetku QRadioButtoni niso združeni, zato jih je mogoče preizkusiti ob istem času. Če želite imeti "izključno" obnašanje mnogih stikal, morate omogočiti QButtonGroup. To storite na naslednji način: dodelite novo skupino gumbov in jo pritrdite na nadrejeni predmet. Upoštevajte, da je to lahko glavno okno.

    Namestitev SDK za Symbian in Nokia

    Če želite začeti uporabljati aplikacije QT, morate dobiti njeno knjižnico in IDE. Ustvarite jih lahko iz vira ali jih prenesete kot SDK. Vključujejo številne funkcije, kot so navzkrižni prevajalniki za Symbian in Nokia. Uporabite te pakete:
  • Dokumentacija QMake.
  • ​​
  • Dokumentacija QT.
  • QT 481 Destkop.
  • Ustvarjalec QT.
  • Izberete lahko druge pakete, če potrebujete razvoj za Symbian /Maemo /Meego, kot tudi tiste, ki imajo starejšo različico QT. V Linuxu je bolje uporabiti pakete, ki jih ponuja distribucija. QT Creator mora biti na voljo v skoraj vseh distribucijah. Pri razpakiranju namesti vse odvisnosti, na primer knjižnice, prevajalnike in razvojne glave. Zdaj lahko ustvarite prvo okno tako, da napišete običajni "Hello world".
    Preden ustvarite prvo grafično aplikacijo, odprite Creator IDE C ++, ki je zelo primeren za kodiranje aplikacij QT. On dajebrskalnik doc in "oblikovalec", ki poenostavlja ustvarjanje oken. Vsi so vgrajeni v dobro premišljeni uporabniški vmesnik. QT se uporablja za označevanje, katere knjižnice in moduli so v projektu. Ker je prva aplikacija običajno majhen grafični uporabniški vmesnik, bodo uporabniki potrebovali QTCore in QTGui. Dodajte vstopno točko aplikaciji. Vzemite C ++ datoteko ali projekt. C ++ izvorna datoteka mora dokončati nalogo. Sledite čarovniku tako, da datoteko nastavite na glavno ime. Po tem je projekt pripravljen. V projektni datoteki je nova linija QT, ki jo samodejno doda Creator. QApplication je zelo pomemben razred. Skrbi za vhodne argumente in cikel dogodkov. Zažene se, ko zaženete app.exec (). Če želite sestaviti to aplikacijo, kliknite zeleno puščico na levi spodaj. Creator bo prevedel in podaljšal interval QT. Zanka za dogodek se bo zagnala in počakala na dejanja, kot je klik miške v grafičnem vmesniku. Po prevajanju bo uporabnik videl prvo okno QT. Kako bo videti na zaslonu, je prikazano na spodnji fotografiji.

    Sistem za kompilacijo Gmake

    Creator izvaja naloge sistemskih klicev, vendar je pomembno vedeti, kako so bili zbrani programi QT. Če so majhni, je to enostavno narediti ročno tako, da ustvarite objektne datoteke in jih nato povežete. Toda za velike projekte je ukazno vrstico težko napisati. V Linuxu se vsi programi prevedejo z izdelavo datoteke, ki opisuje ukazno vrstico. Gmake je zbirni sistem, ki prihaja s programom QT. Ustvari make-datoteke za razvijalca. Z uporabo preproste sintakse se ustvari datoteka.ki se uporablja za pripravo programa QT. Toda to ni edini namen. QT uporablja metobjekti za razširitev funkcionalnosti C ++, qmake je odgovoren za pripravo datoteke, ki vsebuje to fazo ekstrakcije. Program QT je sestavljen v 3 korakih:
  • Datoteka .Pro je napisana za opis projekta za kompilacijo.
  • Datoteka make je ustvarjena z uporabo qmake.
  • Program je zgrajen z uporabo NMake na oknih.
  • Namestitev programa Windows Creator

    Če želite namestiti program, obiščite uradno spletno mesto Creator in prenesite programsko opremo. Izberite priporočeni zagonski nalagalnik:
  • QT Online Installer za Windows. Kliknite gumb »Prenesi« na dnu strani, po katerem se postopek začne.
  • Zaženite namestitveni program .exe orodja QT Creator, tako da dvokliknete miško, da zaženete priloženo aplikacijo, v kateri bo nameščena v računalnik.
  • Za večino zaslonov lahko preprosto kliknete "Naprej", da se premaknete na naslednjo možnost.
  • Na zaslonu "Registracija" lahko kliknete "Preskoči".
  • Na zaslonu sestavnih delov tatov so nekatere različice z alfa, beta ali predogledom izbrane med nameščanjem MinGW.
  • Razširite trikotnik QT, nato QT 5112 in nato preverite MinGW 5 .xx 32 bit.
  • Če se to ne zgodi, računalnik ne bo mogel prevesti in zagnati programa na C ++. Za vse naslednje zaslone izvedite QT Windows:
  • Kliknite Naprej, Sprejmi ali Namesti, da dokončate namestitev.
  • Nato kliknite "Finish", da zaženete Creator.
  • Poskusite sestaviti /zagnati vzorčni projekt.
  • Prepričajte se, da vsi deli delujejoza zagon projekta, ki uporablja knjižnice Stanford C ++.
  • Prenesite naslednjo datoteko projekta ZIP na svoj računalnik: sample-project.zip. Imeti mora imenik vzorec-projekt in več map znotraj njega.
  • Odprite projekt. V orodju Creator izberite Datoteka - & gt; »Odpri datoteko ali projekt« ali pritisnite Ctrl + O (ukaz Mac + +).
  • Pojdite v vzorčno mapo projekta in odprite datoteko sample-project.pro. Ustvarjalec vam bo zastavil nekaj vprašanj o tem, kako vzpostaviti postopek gradnje za ta projekt.
  • Uporabnik preprosto sprejme privzeto vrednost in klikne "Konfiguriraj projekt".
  • Nasveti za lutke

    Za uporabo aplikacije potrebujete posebne informacije o njenih funkcijah. Najbolj popoln paket dokumentacije je na voljo v omrežju razvijalcev. Zagotavlja dokumente DocNotes, ki jih lahko dodajo uporabniki. Če je QTSDK pravilno nameščen, morate namestiti tudi dokumentacijo, ki ustreza trenutni različici QT. Uporabite lahko tudi pomočnika QT, ki je samostojen brskalnik dokumentov. Pomembni deli dokumentacije:
  • QT Assistant.
  • QT Designer.
  • Jezikovni jezik QT.
  • QMake.
  • Najpomembnejša komponenta je referenčna dokumentacija QT. Zagotavlja dober vnos številnih komponent. Ta seznam se prikaže na strani »Vsi razredi«. Druga zanimiva stran je tista, v kateri so navedeni vsi moduli. Zagotavlja informacije o različnih komponentah. Dokumentacija v razredu je organizirana na naslednji način:
  • Ime in kratek opis razreda.
  • Dedovanje.
  • Prenos.
  • Lastnosti.
  • Javne metode.
  • Odprite reže.
  • Signali.
  • Zaščitene metode.
  • Mnenja

    Letno se število uporabnikov QT poveča. Programerji v svojih pregledih ne pišejo samo, da je struktura precej priročna, poceni, kakovostna, ampak tudi daje novice vse njene prednosti. Tukaj je nekaj od njih:
  • Vmesnik je čist in razumljiv. Ima vsa potrebna orodja za izhod konzole, odpravljanje napak, sledenje in ima tudi uporabno funkcionalnost za preklapljanje med funkcijami in njihovimi definicijami.
  • Funkcionalnost QT za ustvarjanje, razhroščevanje in sledenje je zelo uporabna, zlasti ko gre za iskanje napak v kodi programske opreme.
  • Z lahkoto lahko greste do oddelka kode, zaradi česar je težava videti lokalne spremenljivke in njihovo vsebino v realnem času.
  • Oblikovalec /obrazci uporabniškega vmesnika so pri izdelavi kompleksnih vmesnikov izjemno varčevalni čas. Če je ne uporabljate, so potrebni ročni ročni vnosi.
  • V QT so njegove knjižnice in prevajalniki enostavne za vzdrževanje v nastavitvah profila za enostavno preklapljanje in poznejšo uporabo.
  • Kot lahko vidimo, lahko navzkrižna platforma pokriva vse ciljne platforme z eno tehnologijo in kodno osnovo, kar zmanjšuje čas vstopa na trg in obremenitev vzdrževanja.

    Sorodne publikacije