Qt Dokumentasjon Stillbilder.

Denne delen beskriver hvordan du lager et Qt Creator-plugin ved hjelp av pluginmalen levert av Qt Creator, og far det forste inntrykket av hva et plugin bestar av og hva den generelle strukturen er.

Opprette et pluginprosjekt.

Qt Creator kommer med en veiviser for Qt Creator plugins, som skaper en runable, minimal plugin for deg. Vi anbefaler sterkt at du bruker to forskjellige Qt Creator-forekomster for a utvikle og teste ditt plugin med. Ellers vil din plugin ogsa lastes inn i utviklingsmiljoet ditt, noe som kan gjore det ustabilt nar pluginet ditt fortsatt er ustabilt. Du kan bare lage en kopi av Qt Creator-bygningen din og bruke en til a utvikle seg, og den andre for a teste pluginet ditt med.

Du ma sorge for at du bruker den samme Qt Creator-versjonen du vil utvikle for a lage plugin. Pa grunn av reglene for bin r og kildekompatibilitet av Qt Creator, oppretter Qt Creator plugin veiviseren et plugin som kun kan kompilere og kjore med samme Qt Creator-versjon som den ble opprettet med.

Dialogboksen Introduksjon og prosjektplassering apnes.

Dialogboksen Kitvalg apnes.

Dialogboksen Plugin Information apnes.

/.config/QtProject/qtcreator/plugins pa Unix-systemer). Vi velger Qt Creator build fordi vi bruker en selvutviklet Qt Creator, og vil at pluginet bare skal lastes av den Qt Creator-forekomsten. Fortsett til neste side.

Dialogboksen Prosjektstyring apnes.

Bygg og kjor pluggen.

Hvis du passerte riktig Qt Creator-kilde og bygger stier i prosjektveiviseren, bor pluginet bare bygge fint nar du trykker pa byggeknappen. Nar du prover a kjore prosjektet ditt, vil Qt Creator sporre deg om at kjorbarheten skal kjore, og du blir presentert folgende dialog:

Velg banen til Qt Creator executable fra bygningen du angav i Qt Creator build-innstillingen i prosjektguiden, og klikk OK. Qt Creator starter opp, og du kan bekrefte at pluginet ditt er lastet inn ved a lete etter en menyoppforing Verktoy & gt; Eksempel og ved a lete etter plugin-modulen i dialogboksen Om plugin-moduler.

Filstruktur.

Plugg-veiviseren lager et sett med grunnleggende filer som et plugin trenger eller burde ha. Vi vil se n rmere pa noen av dem i de folgende avsnittene, her er en kort oversikt:

qmake prosjekt.

Qmake-prosjektfilen example.pro definerer hvordan pluginet ditt skal kompileres. Qt Creator plugins ma ha et spesifikt oppsett der, i tillegg til a fortelle qmake hvilke filer som ma samles (eller handteres av moc eller uic). La oss se pa hva prosjektguiden genererer for deg i detalj.

Den forste delen av .pro-filen lar kompilatoren passere en EXAMPLE_LIBRARY-definisjon til den kompilerte koden, som brukes i heisen example_global.h, men er ikke s rlig interessant for na. Du bor ikke endre den delen av .pro-filen.

Denne delen forteller qmake om filene i prosjektet ditt som det skal la sammen eller pa annen mate handtere. Du ma utvide den delen med eventuelle filer du legger til i prosjektet.

For a kompilere og distribuere pluginet ditt, trenger prosjektet tilgang til Qt Creator-kildene og bygger. Denne delen inneholder logikken som ser etter informasjonen om plasseringen av kildene og bygger i QTC_SOURCE og QTC_BUILD miljovariablene. Hvis disse ikke er definert, bruker de standardverdiene du angir i prosjektveiviseren.

Sa hvis noen andre apner pluginprosjektet pa maskinen, trenger de ikke a redigere .pro-filen, men i stedet bor de sette miljovariablene QTC_SOURCE og QTC_BUILD riktig for pluginets byggemiljo.

Du bor ikke endre denne delen, unntatt kanskje for a tilpasse standardinnstillingene.

Qt Creator plugins kan enten installeres i Qt Creator installasjonens plugin katalog (krever skrive tilgang der), eller til en bruker spesifikk plugin katalog. USE_USER_DESTDIR-bryteren i .pro-filen definerer hvilken metode som brukes til a bygge pluginet (som er uavhengig av hva du senere kan bruke til a distribuere pluginet ditt til andre brukere).

Denne delen definerer navnet og avhengighetene til pluginet ditt. QTC_PLUGIN_NAME-variabelen definerer navnet pa pluginet ditt og navnet pa det dynamiske biblioteket som er opprettet for det. QTC_LIB_DEPENDS-variabelen er en liste over biblioteksnavn pa Qt Creator-verktoybibliotekene som pluginet ditt er avhengig av. Typiske verdier vil v re aggregering, forlengelsessystem og utils. QTC_PLUGIN_DEPENDS-variabelen definerer Qt Creator-pluginene som pluginet ditt avhenger av. Nesten alle Qt Creator-plugins vil avhenge av coreplugin. QTC_PLUGIN_RECOMMENDS-variabelen definerer Qt Creator-pluginene som pluginet ditt avhenger av. For mer informasjon, se Valgfrie avhengigheter.

Den medfolgende filen qtcreatorplugin.pri sorger for at du bygger et plugin som er egnet for bruk i Qt Creator, ved a bruke informasjonen du oppgir ovenfor.

For mer informasjon om qmake, og skriving .pro filer generelt, se qmake Manual.

Plugin Meta Data Template.

.json-filen er en JSON-fil som inneholder informasjon som trengs av plugin-administratoren for a finne pluginet ditt og lose dets avhengigheter for du faktisk laster inn pluginets biblioteksfil. Vi vil bare se pa det her. For mer informasjon, se Plugin Meta Data.

Veiviseren lager ikke en .json-fil direkte, men i stedet en .json.in-fil. qmake bruker dette til a generere den faktiske plugin .json meta data filen, erstatte variabler som QTCREATOR_VERSION med deres faktiske verdier. Derfor ma du unnslippe alle tilbakeslag og anforselstegn i .json.in-filen (dvs. du ma skrive \ for a fa en tilbakemelding og \ «for a fa et tilbud i den genererte plugin-JSON metadataen).

De forste elementene i metadataene som er opprettet av veiviseren, angir navnet pa pluginet ditt, dens versjon, og med hvilken versjon av dette pluginet er den nav rende versjonen bin rkompatibel med.

Deretter finner du informasjonen om pluginet du ga i prosjektguiden.

$$ dependencyList-variabelen blir automatisk erstattet av avhengighetsinformasjonen i QTC_PLUGIN_DEPENDS og QTC_PLUGIN_RECOMMENDS fra pluginets .pro-fil.

Plugin Class.

Filene exampleplugin.h og exampleplugin.cpp definerer pluginimplementeringen av det lille pluginet ditt. Vi vil konsentrere deg om noen hoydepunkter her, og gi tips til mer detaljert informasjon for de ulike delene.

Header File.

Overskriftsfilen exampleplugin.h definerer grensesnittet til plugin-klassen.

Pluggen er definert i et eksempel :: Internt navnomrade, som samsvarer med kodingsreglene for namespacing i Qt Creator-kilder.

Alle Qt Creator plugins ma v re avledet fra ExtensionSystem :: IPlugin og er QObjects. Q_PLUGIN_METADATA makroen er nodvendig for a opprette et gyldig Qt-plugin. Den IID som er oppgitt i makroen, ma v re org.qt-project.Qt.QtCreatorPlugin, for a identifisere den som et Qt Creator-plugin, og FIL ma peke pa pluginens metadatafil som beskrevet i Plugin Meta Data.

Baseklassen definerer grunnleggende funksjoner som kalles i lopet av livssyklusen til et plugin, som her er implementert for ditt nye plugin. Disse funksjonene og deres roller er beskrevet i detalj i Plugin Life Cycle.

Pluggen har et ekstra tilpasset spor, som brukes til a apne en dialogboks nar brukeren velger menyelementet som dette pluginet legger til.

Kildefil.

Kildefilen inneholder den faktiske implementeringen av pluginet, som registrerer en ny meny og menyelement, og apner en meldingskasse nar det aktuelle elementet utloses.

Alle nodvendige headerfiler fra selve pluginkoden, fra Core plugin og fra Qt, er inkludert i begynnelsen av filen. Oppsettet av menyen og menyelementet gjores i pluginens initialiseringsfunksjon, som er det forste som kalles etter plugin-konstruktoren. I den funksjonen kan plugin v re sikker pa at det grunnleggende oppsettet av plugin er det avhenger av, er for eksempel Core pluginets ActionManager-forekomst blitt opprettet.

For mer informasjon om implementering av plugin-grensesnittet, se ExtensionSystem :: IPlugin API dokumentasjon og Plugin Life Cycle.

Denne delen av koden oppretter en ny QAction, registrerer den som en ny kommando i handlingsadministratoren, og kobler den til pluginets spor. Handlingsadministratoren gir et sentralt sted hvor brukeren kan tilordne og endre tastatursnarveier, og handterer tilfeller hvor et menyelement for eksempel skal rettes til forskjellige plugins under forskjellige forhold, sa vel som noen andre ting. Dette er beskrevet mer detaljert i Menyer og Menyelementer.

Her opprettes et nytt menyelement, den opprettede kommandoen legges til den, og menyen legges til Verktoy-menyen i menylinjen. Igjen, er dette dekket mer detaljert i Menyer og Menyelementer.

Denne delen definerer koden som kalles nar menyelementet utloses. Den bruker Qt API for a apne en meldingsboks som viser informativ tekst og en OK-knapp.


Vil du spille i det beste kasinoet? Vi fant det for deg. Registrer deg nå!