Prilagođeni čarobnjaci
Ako imate tim koji radi na velikoj aplikaciji ili na više aplikacija, možda ćete htjeti standardizirati način na koji članovi tima stvaraju projekte i datoteke.
Možete stvoriti prilagođene čarobnjake u JSON formatu. Pohranjuju se u direktorije predložaka čarobnjaka koji sadrže JSON konfiguracijsku datoteku naziva wizard.json i sve potrebne predložne datoteke. Konfiguracijska datoteka ima odjeljke koji definiraju informacije o čarobnjaku, varijable koje možete koristiti, stranice čarobnjaka i generatore za stvaranje datoteka.
Da biste stvorili prilagođeni čarobnjak, kopirajte direktorij predloška u direktorij templates/wizards/ u direktorij postavki lokalnog korisnika pod novim imenom. Zatim promijenite ID čarobnjaka u datoteci wizard.json.
Možete stvoriti poddirektorij za predloške u direktoriju s postavkama. Qt Creator organizira standardne čarobnjake u poddirektorije prema vrsti, ali svoj direktorij čarobnjaka možete dodati u bilo koji direktorij koji želite. Hijerarhija direktorija ne utječe na redoslijed u kojem Qt Creator prikazuje čarobnjake.
Da biste podijelili čarobnjak s drugim korisnicima, možete stvoriti arhivu direktorija čarobnjaka i uputiti primatelje da je izvuku u jedan od direktorija iz kojih Qt Creator pretražuje čarobnjake.
Qt Creator prikazuje čarobnjake koje pronađe u dijaloškim okvirima New Project i New File. Za svaki čarobnjak prikazuje ikonu (1), prikazano ime (2) i opis (3).

Vrste čarobnjaka
U čarobnjaku za projekte možete navesti datoteke potrebne u projektu. Možete dodati stranice čarobnjaka kako biste omogućili programerima da navedu postavke za projekt.
Čarobnjak za datoteke je sličan, ali nema nijednu projektnu datoteku.
Lokacije čarobnjaka
Qt Creator traži čarobnjake na sljedećim lokacijama:
- Unaprijed definirani čarobnjaci u zajedničkom direktoriju:
- Na Windowsu:
share\qtcreator\templates\wizards - Na Linuxu:
share/qtcreator/templates/wizards - Na macOS:
Qt Creator.app/Contents/Resources/templates/wizards
- Na Windowsu:
- Vaši prilagođeni čarobnjaci u direktoriju postavki lokalnog korisnika:
- Na Windowsu:
%APPDATA%\QtProject\qtcreator\templates\wizards - Na Linuxu i macOSu:
$HOME/.config/QtProject/qtcreator/templates/wizards
- Na Windowsu:
Savjeti za razvoj čarobnjaka
Dodijelite prečace na tipkovnici za neke pomoćne radnje i uključite detaljni izlaz.
Mapiranje akcija na tipkovničke prečace
Qt Creator sadrži neke radnje koje mogu poboljšati proces razvoja čarobnjaka. One nemaju prečace na tipkovnici prema zadanim postavkama, pa ih ne možete pokrenuti. Da biste ih omogućili, dodijelite prečace na tipkovnici u Preferences > Environment > Keyboard > Wizard.
Sljedeće radnje mogu pomoći pri razvoju čarobnjaka:
| ID radnje | Opis |
|---|---|
| Inspect | Pokretanje ove radnje otvara prozor koji prikazuje sve definirane polje i varijable u čarobnjaku u trenutku pokretanja radnje. Svaka aktivacija ove radnje otvara novi nemodalni prozor, tako da možete usporediti stanje na različitim stranicama čarobnjaka, na primjer. |
| Factory.Reset | Pokretanje ove radnje uzrokuje da Qt Creator zaboravi sve tvornice čarobnjaka, što dovodi do ponovnog učitavanja svih definicija čarobnjaka, na primjer pri otvaranju File > New Project. Na taj način možete izbjeći ponovno pokretanje Qt Creator kako bi vaše izmjene u definiciji čarobnjaka postale vidljive. |
Detaljan izlaz
Za razvoj čarobnjaka preporučujemo da pokrenete Qt Creator s argumentom -customwizard-verbose kako biste dobili potvrdu da Qt Creator pronalazi i analizira datoteku wizard.json. Detaljni način rada prikazuje informacije o sintaksnim pogreškama, što su najtipičnije pogreške na koje možete naići tijekom uređivanja čarobnjaka.
U verbose načinu rada svaki ispravno postavljen čarobnjak proizvodi izlaz u sljedećem obliku:
Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard" for wizard.json. * Configuration found and parsed.
Izlaz uključuje naziv direktorija koji Qt Creator provjerava za datoteku wizard.json. Ako datoteku ne pronađe, poruku ne prikazuje.
Ako datoteka sadrži pogreške, poput neispravne putanje do ikone, primate sljedeće vrste poruka:
Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard" for wizard.json. * Configuration found and parsed. * Failed to create: Icon file "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard/../.. /global/genericfilewizard.png" not found.
Pogledajte Opcije naredbenog retka za više informacija o argumentima naredbenog retka.
Integracija čarobnjaka u Buildove
Ako ste programer Qt Creator a ili sami izradite vlastitu verziju Qt Creator a za isporuku drugima, možete integrirati čarobnjak u Qt Creator. Kako biste isporučili čarobnjak kao dio izgradnje Qt Creator a, smjestite datoteke čarobnjaka u zajedničku mapu u izvorima Qt Creator. Zatim idite na Build i odaberite Run CMake. Time se osigurava da se nove datoteke koje ste dodali za svoj čarobnjak zapravo kopiraju iz izvorne mape Qt Creator u mapu za izgradnju Qt Creator kao dio sljedeće izgradnje Qt Creator.
Ako ne pokrenete CMake, vaš novi čarobnjak se neće pojaviti jer ne postoji u direktoriju za izgradnju iz kojeg pokrećete svoj novoizgrađeni Qt Creator. Nikada nije kopiran tamo jer CMake nije obavijestio alat za izgradnju, poput make-a ili Ninja, o novim datotekama u izvornom stablu.
U osnovi, CMake generira fiksnu listu datoteka za kopiranje iz izvornog direktorija u poddirektorij direktorija za izgradnju, koji se tijekom izvođenja provjerava za čarobnjake. Stoga morate pokrenuti CMake ili izvršiti funkciju Factory.Reset svaki put kada se promijene imena ili lokacije datoteka.
Korištenje varijabli u čarobnjacima
Možete koristiti varijable (%\{<variableName>\}) u nizovima u JSON konfiguracijskoj datoteci i u predložnim izvornih datotekama. Skup varijabli unaprijed je definiran od strane čarobnjaka i njihovih stranica. Možete uvesti nove varijable kao prečace za kasniju upotrebu definiranjem ključeva varijabli i njihovih vrijednosti u odjeljku options u datoteci wizard.json.
Postoji posebna varijabla %\{JS:<JavaScript expression>\} koja evaluira zadani JavaScript izraz i pretvara dobivenu JavaScript vrijednost u niz. U JavaScript izrazu možete se pozivati na varijable definirane pomoću čarobnjaka s value('<variableName>'). Vraćeni JavaScript objekt ima tip koji odgovara vrijednosti varijable, a to može biti niz, lista, rječnik ili logička vrijednost.
Na mjestima gdje se očekuje boolean vrijednost, a zadana je string vrijednost, prazan string, kao i string "false", tretira se kao false, a sve ostalo kao true.
Lokalizacija čarobnjaka
Ako naziv postavke započinje prefiksom tr, vrijednost je vidljiva korisnicima i treba je prevesti. Ako je novi čarobnjak uključen u izvore Qt Creator, prevodive nizove pojavljuju se u datotekama za prijevod Qt Creator i mogu se prevesti kao dio Qt Creator. Alternativno, prijevode možete smjestiti u datoteku .json koristeći sljedeću sintaksu:
"trDisplayName": { "C": "default", "en": "english", "de": "deutsch" }
Na primjer:
"trDisplayName": { "C": "Project Location", "en": "Project Location", "de": "Projektverzeichnis" }
Izrada čarobnjaka
Qt Creator sadrži čarobnjake za dodavanje klasa, datoteka i projekata. Možete ih koristiti kao osnovu za dodavanje vlastitih čarobnjaka. Koristimo čarobnjak za C++ kako bismo objasnili proces te odjeljke i postavke u datoteci .json.
U ovom primjeru stvaramo direktorij čarobnjaka u zajedničkom direktoriju i integriramo ga u sustav izgradnje Qt Creator, tako da se može raspoređivati zajedno s binarnim datotekama Qt Creator kao dio izgradnje.

Za više informacija o stranicama i widgetima koje možete dodati i njihovim podržanim svojstvima pogledajte Dostupne stranice i Dostupne widgete.
Za izradu čarobnjaka za C++ klasu temeljenog na JSON-u:
- Pokrenite Qt Creator s argumentom
-customwizard-verbosekako biste primali povratne informacije tijekom razvoja čarobnjaka. Za više informacija pogledajte odjeljak Verbose Output. - Postavite prečace na tipkovnici za akcije Inspect i Factory.Reset, kao što je opisano u Savjetima za razvoj čarobnjaka.
- Napravite kopiju
share/qtcreator/templates/wizards/classes/cppi preimenujte je. Na primjer,$HOME/.config/QtProject/qtcreator/templates/wizards/classes/mycpp. - Koristite radnju Factory.Reset kako biste prikazali čarobnjak u File > New File bez ponovnog pokretanja Qt Creator a.
- Otvorite konfiguracijsku datoteku čarobnjaka,
wizard.jsonza uređivanje:- Sljedeća postavka određuje vrstu čarobnjaka i njegovo mjesto u dijaloškom okviru New File:
"version": 1, "supportedProjectTypes": [ ], "id": "A.Class", "category": "O.C++",
versionje verzija sadržaja datoteke. Nemojte mijenjati ovu vrijednost.supportedProjectTypesje opcionalna postavka koja se može koristiti za filtriranje čarobnjaka pri dodavanju novog cilja izgradnje postojećem projektu. Na primjer, prikazati samo čarobnjake koji stvaraju qmake projekte pri dodavanju novog cilja postojećem qmake projektu.Moguće vrijednosti su sustavi za izgradnju koje podržava Qt Creator ili
UNKNOWN_PROJECTako sustav za izgradnju nije naveden:AutotoolsProjectManager.AutotoolsProject,CMakeProjectManager.CMakeProject,GenericProjectManager.GenericProject,PythonProject,Qbs.QbsProject,Qt4ProjectManager.Qt4Project(qmake projekt),QmlProjectManager.QmlProjectidje jedinstveni identifikator za vaš čarobnjak. Čarobnjaci se sortiraju po ID-u abecednim redom unutarcategory. Možete koristiti početno slovo kako biste naveli položaj čarobnjaka. Ovu vrijednost morate uvijek promijeniti. Na primjer,B.MyClass.Ove su informacije dostupne u čarobnjaku kao
%\{id\}.categoryje kategorija u koju se postavlja čarobnjak na popisu. Možete koristiti početno slovo za određivanje položaja kategorije na popisu u dijalogu New File.Ove su informacije dostupne u čarobnjaku kao
%\{category\}.
- Sljedeći parametri određuju ikonu i tekst koji se prikazuju u dijalogu New File:
"trDescription": "Creates a C++ header and a source file for a new class that you can add to a C++ project.", "trDisplayName": "C++ Class", "trDisplayCategory": "C++", "iconText": "h/cpp", "enabled": "%{JS: isPluginRunning('cppeditor')}",
trDescriptionprikazuje se u desnom panelu kada je odabrantrDisplayCategory.Ove su informacije u čarobnjaku dostupne kao
se pojavljuje u srednjem panelu kada je odabran xml-ph-0000@deepl.internal.%\{trDescription\}.trDisplayNameprikazuje se u srednjem panelu kada je odabrantrDisplayCategory.Ove informacije su dostupne u čarobnjaku kao
prikazuje se u dijalogu xml-ph-0000@deepl.internal, pod xml-ph-0001@deepl.internal.%\{trDisplayName\}.trDisplayCategoryprikazuje se u dijalogu New File, pod Files and Classes.Ove informacije su dostupne u čarobnjaku kao
se pojavljuje pored xml-ph-0000@deepl.internal u središnjem panelu kada je odabran xml-ph-0001@deepl%\{trDisplayCategory\}.iconprikazuje se poredtrDisplayNameu srednjem panelu kada je odabrantrDisplayCategory. Preporučujemo da navedete putanju relativno u odnosu na datotekuwizard.json, ali možete koristiti i apsolutnu putanju. Ostavite ovu vrijednost praznom da biste koristili zadanu ikonu za vrstu čarobnjaka.iconTextodređuje tekstni natpis za zadanu ikonu datoteke.iconKindodređuje je li ikona tematska.imageodređuje putanju do slike (na primjer snimke zaslona) koja se pojavljuje ispodtrDescriptiona.featuresRequiredodređuje značajke Qt Creator na koje je čarobnjak ovisan. Ako nedostaje potrebna značajka, čarobnjak je skriven. Na primjer, ako nijedan paket nema postavljena Qt verziju, tada su čarobnjaci temeljeni na qmakeu skriveni.Koristite
enabledako trebate izraziti složeniju logiku za odlučivanje o tome hoće li vaš čarobnjak biti dostupan.Ove su informacije u čarobnjaku dostupne kao
xml-ph-0000@deepl.internal.%\{RequiredFeatures\}.featuresPreferredodređuje build i run kitove za predizbor.Ove su informacije dostupne u čarobnjaku kao
Postavljeno je na xml-ph-0000@deepl.internal ako čarobnjak podržavaju sve ciljne platforme. Po zadan%\{PreferredFeatures\}.platformIndependentse postavlja natrueako je čarobnjak podržan na svim ciljnim platformama. Po zadanome je postavljeno nafalse.enabledse ocjenjuje kako bi se utvrdilo je li čarobnjak naveden u File > New Project ili New File, nakon što jefeaturesRequiredprovjeren.Zadana vrijednost je
true.
- Odjeljak
optionsima niz objekata s atributima ključ i vrijednost. Možete definirati vlastite varijable koje ćete koristiti u konfiguracijskim i izvornim datotekama predložaka, uz unaprijed definirane varijable. Na primjer, čarobnjak za izradu C++ klasa koristi sljedeće varijable:"options": [ { "key": "TargetPath", "value": "%{Path}" }, { "key": "HdrPath", "value": "%{Path}/%{HdrFileName}" }, { "key": "SrcPath", "value": "%{Path}/%{SrcFileName}" }, { "key": "CN", "value": "%{JS: Cpp.className(value('Class'))}" }, { "key": "Base", "value": "%{JS: value('BaseCB') === '' ? value('BaseEdit') : value('BaseCB')}" }, { "key": "isQObject", "value": "%{JS: (value('Base') === 'QObject' || value('Base') === 'QWidget' || value('Base') === 'QMainWindow' || value('Base') === 'QQuickItem' ) ? 'true' : 'false'}" }, { "key": "GUARD", "value": "%{JS: Cpp.headerGuard(value('HdrFileName'))}" }, { "key": "SharedDataInit", "value": "%{JS: value('IncludeQSharedData') ? 'data(new %{CN}Data)' : '' }" } ],
Ovaj odjeljak je neobavezan. Za više primjera varijabli pogledajte datoteke
Odjeljak ml-ph-0000@deepl.internal ima niz objekata s atributima ključ i vrijednost. Osim unaprijedwizard.jsonza druge čarobnjake. - Odjeljak
pagesodređuje stranice čarobnjaka. Koriste se različite stranice ovisno o vrsti čarobnjaka. Možete dodati standardne stranice čarobnjacima ili stvoriti nove stranice koristeći dostupne widgete. Sljedeće postavke određuju prikazano ime, naslov i vrstu stranice:"pages": [ { "trDisplayName": "Define Class", "trShortTitle": "Details", "typeId": "Fields", "data" : [ { "name": "Class", "trDisplayName": "Class name:", "mandatory": true, "type": "LineEdit", "data": { "trPlaceholder": "Fully qualified name, including namespaces", "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)", "completion": "namespaces" } }, ... ]
typeIdodređuje stranicu za korištenje:Fields,File,Form,Kits,Project,VcsConfiguration,VcsCommandiliSummary.ID cijele stranice, kako se koristi u kodu, sastoji se od prefiksa
"PE.Wizard.Page."itypeId. Za više informacija o stranicama pogledajte Dostupne stranice.trDisplayNameodređuje naslov stranice. Po zadanom se koristi naslov stranice.trShortTitleodređuje naslov koji se koristi u bočnoj traci čarobnjaka. Po zadanom se koristi naslov stranice.trSubTitleodređuje podnaslov stranice. Po zadanom se koristi naslov stranice.indexje cjelobrojna vrijednost koja određuje ID stranice. Automatski se dodjeljuje ako je ne postavite.enabledpostavlja se natrueza prikaz stranice i nafalseza njezino skrivanje. Ovo se vrednuje samo jednom pri stvaranju odgovarajuće stranice čarobnjaka.skipForSubprojectsmože se koristiti za preskakanje stranice čarobnjaka. Korisno npr. za obradu informacija o izgradnji. Ovo se ocjenjuje samo jednom u trenutku stvaranja dotične stranice čarobnjaka.dataodređuje stranice čarobnjaka. U C++ čarobnjaku određuje stranicuFieldsi stranicuSummary. StranicaFieldsima widgeteCheckBox,ComboBox,LineEdit,PathChooseriSpacer. Za više informacija o widgetima pogledajte Dostupni widgeti.
- Odjeljak
generatorsnavodi datoteke koje se trebaju dodati u projekt:"generators": [ { "typeId": "File", "data": [ { "source": "file.h", "target": "%{HdrPath}", "openInEditor": true "options": [ { "key": "Cpp:License:FileName", "value": "%{HdrFileName}" }, { "key": "Cpp:License:ClassName", "value": "%{CN}" } ] }, { "source": "file.cpp", "target": "%{SrcPath}", "openInEditor": true "options": [ { "key": "Cpp:License:FileName", "value": "%{SrcFileName}" }, { "key": "Cpp:License:ClassName", "value": "%{CN}" } ] } ]
typeIdodređuje vrstu generatora. Trenutno je podržan samoFileiliScanner.dataomogućuje daljnju konfiguraciju generatora.
- Sljedeća postavka određuje vrstu čarobnjaka i njegovo mjesto u dijaloškom okviru New File:
Dostupne vrijednosti čarobnjaku
Osim svojstava preuzetih iz same datoteke wizard.json (vidi Stvaranje čarobnjaka), Qt Creator čini neke informacije dostupnima svim čarobnjacima temeljenim na JSON-u:
WizardDirje apsolutna putanja do datotekewizard.json.Featurespopisuje sve značajke dostupne putem bilo kojeg od kitova konfiguriranih u Qt Creator u.Pluginssadrži popis svih dodataka (plug-inova) koji se pokreću u trenutnoj instanci Qt Creator-a.Platformsadrži platformu odabranu u dijalogu File > New Project ili New File. Ova vrijednost može biti prazna.
Sljedeće informacije dostupne su samo kada korisnici pokrenu čarobnjak putem kontekstnog izbornika čvora u prikazu Projects:
InitialPaths putanjom do odabranog čvora.ProjectExplorer.Profile.Idssadrži popis kompleta konfiguriranih za projekt odabranog čvora.
Dostupne stranice
Možete dodati unaprijed definirane stranice u čarobnjake tako da ih navedete u odjeljku pages datoteke wizard.json.
Stranica polja
Stranica polja ima vrijednost typeId Field i sadrži widgete. Za više informacija o definicijama widgeta pogledajte Dostupni widgeti.
"pages": [ { "trDisplayName": "Define Class", "trShortTitle": "Details", "typeId": "Fields", "data" : [ { "name": "Class", "trDisplayName": "Class name:", "mandatory": true, "type": "LineEdit", "data": { "trPlaceholder": "Fully qualified name, including namespaces", "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)", "completion": "namespaces" } }, ... ],
Stranica datoteke
Stranica datoteka ima vrijednost typeId File . Možete izostaviti ključ data ili mu dodijeliti prazan objekt.
{
"trDisplayName": "Location",
"trShortTitle": "Location",
"typeId": "File"
},Stranica evaluira InitialFileName i InitialPath iz čarobnjaka kako bi postavila početnu putanju i naziv datoteke. Stranica postavlja TargetPath na punu putanju datoteke koja će se stvoriti.
Stranica obrasca
Stranica obrasca ima vrijednost typeId Form . Možete izostaviti ključ data ili mu dodijeliti prazan objekt.
{
"trDisplayName": "Choose a Form Template",
"trShortTitle": "Form Template",
"typeId": "Form"
},Stranica postavlja FormContents na niz nizaka sadržaja obrasca.
Kits
Stranica Kits ima vrijednost typeId Kits . Odjeljak data na stranici Kits ima objekt sa sljedećim postavkama:
projectFilePaths putanjom do datoteke projekta.requiredFeaturess popisom nizova ili objekata koji opisuju značajke koje komplet mora imati da bi se pojavio na stranici.Kada se pronađe niz, ova značajka mora biti postavljena. Kada se umjesto toga koristi objekt, provjeravaju se sljedeća podešavanja:
feature, koji mora biti niz (u kojem će se sve%\{<VariableName\}proširiti).condition, koji se mora ocijeniti kaotrueilifalsei može se koristiti za uklanjanje značajke s popisa.
preferredFeaturess popisom u istom formatu kaorequiredFeatures. Svaki komplet koji zadovoljava sve značajke navedene upreferredFeatures(osimrequiredFeatures) bit će unaprijed odabran na ovoj stranici.
{
"trDisplayName": "Kit Selection",
"trShortTitle": "Kits",
"typeId": "Kits",
"data": { "projectFilePath": "%{ProFileName}" }
},Stranica evaluira %\{Platform\} kako bi postavila platformu odabranu u File > New Project ili New File.
Napomena: Ova stranica postavlja skipForSubprojects na true kako bi se stranica sakrila u slučaju da nije potrebna, budući da podprojekti nasljeđuju ovu informaciju od svog matičnog projekta.
Projekt
Stranica projekta ima vrijednost typeId postavljenu na Project. Ne sadrži podatke niti objekt s svojstvom trDescription koji će biti prikazan na generiranoj stranici. trDescription prema zadanim postavkama je %\{trDescription\}, koji se popunjava informacijama preuzetim iz polja trDescription datoteke wizard.json.
{
"trDisplayName": "Project Location",
"trShortTitle": "Location",
"typeId": "Project",
"data": { "trDescription": "A description of the wizard" }
},Stranica evaluira InitialPath kako bi postavila početnu putanju projekta. Stranica postavlja ProjectDirectory i TargetPath na direktorij projekta. Nadalje, stranica postavlja IsSubproject na true ako je projekt eksplicitno dodan u drugi projekt. U tom slučaju BuildSystem bit će postavljena na sustav za izgradnju roditeljskog projekta.
Sažetak
Stranica sažetka ima vrijednost typeId Summary . Ne sadrži nikakve podatke ili je objekt prazan.
{
"trDisplayName": "Project Management",
"trShortTitle": "Summary",
"typeId": "Summary"
}Stranica postavlja IsSubproject na false ako je ovo projekt najviše razine, a inače na true. Postavlja VersionControl na ID sustava kontrole verzija koji se koristi.
VcsCommand
Stranica VcsCommand pokreće skup operacija kontrole verzija i prikazuje rezultate.
Odjeljak data ove stranice prihvaća objekt sa sljedećim ključevima:
vcsIds ID-om sustava za kontrolu verzija koji će se koristiti.trRunMessages porukom koja će se prikazivati dok sustav kontrole verzija radi.extraArgumentss nizom ili popisom nizova koji definiraju dodatne argumente koji se prosljeđuju naredbi za preuzimanje iz sustava za kontrolu verzija.repositorys URL-om za preuzimanje iz sustava kontrole verzija.baseDirectorys direktorijem u kojem će se izvršiti operacija preuzimanja.checkoutNames poddirektorijem koji će se stvoriti za pohranu izvučenih podataka.extraJobss popisom objekata koji definiraju dodatne naredbe za izvršavanje nakon početnog preuzimanja. Ovo se može koristiti za daljnju prilagodbu repozitorija, na primjer dodavanjem dodatnih udaljenih repozitorija ili postavljanjem konfiguracijskih varijabli sustava za kontrolu verzija.Svaki
extraJobdefiniran je objektom sa sljedećim postavkama:skipIfEmptytiho uklanja prazne argumente iz naredbe za pokretanje ako ga postavite natrue. Zadano jetrue.directorys radnim direktorijem naredbe za pokretanje. To je zadano vrijednostbaseDirectory.commands naredbom za izvršavanje.argumentss argumentima koji se prosljeđujucommandu .timeOutFactorprodužuje zadane vremenska ograničenja za dugotrajne naredbe.enabledkoji će se procijeniti kako bi se odlučilo hoće li se ovaj posao doista izvršiti ili ne.
Konfiguracija verzijskog sustava
Stranica VcsConfiguration traži od korisnika da konfigurira sustav kontrole verzija i omogućuje gumb Next tek nakon uspješne konfiguracije.
Odjeljak data na ovoj stranici prima objekt s ključem vcsId. Ova postavka definira sustav kontrole verzija koji će se konfigurirati.
Dostupni widgeti
Na stranici polja možete dodati sljedeće widgete:
- Kutija za potvrdu
- Spustivi popis
- Oznaka
- Uređivanje retka
- Odabir puta
- Razmak
- Uređivanje teksta
Napomena: Čarobnjaci podržavaju samo postavke dokumentirane u sljedećim odjeljcima.
Navedite sljedeće postavke za svaki widget:
nameodređuje naziv widgeta. Taj se naziv koristi kao ime varijable za ponovni pristup vrijednosti.trDisplayNameodređuje tekst oznake vidljiv u korisničkom sučelju (akospannijetrue).typeodređuje vrstu widgeta:CheckBox,ComboBox,Label,LineEdit,PathChooser,SpaceriTextEdit.trToolTipodređuje alatni savjet koji se prikazuje kada se pokazivač miša zadrži iznad polja.isCompletese procjenjuje za sva polja kako bi se odlučilo je li gumb Next čarobnjaka dostupan ili ne. Sva polja moraju imatiisCompletekoji se procjenjuje natrueda bi se to dogodilo. Ova postavka prema zadanim postavkama jetrue.trIncompleteMessageprikazuje se kada seisCompletepolja ocijeni kaofalse.persistenceKeyčini korisnikov odabir trajnim. Vrijednost se uzima kao ključ postavki. Ako korisnik promijeni zadanu vrijednost widgeta, korisnikova vrijednost se pohranjuje i postat će nova zadana vrijednost sljedeći put kada se pokrene čarobnjak.visiblepostavlja se natrueako je widget vidljiv, inače se postavlja nafalse. Po zadanom je postavljeno natrue.enabledje postavljeno natrueako je widget omogućen, inače je postavljeno nafalse. Po zadanome je postavljeno natrue.mandatoryje postavljeno natrueako ovaj widget mora imati vrijednost da bi gumb Next postao omogućen. Po zadanome je postavljeno natrue.spanje postavljeno da sakrije etiketu i obuhvati obrazac. Po zadanome je postavljeno nafalse. Za više informacija pogledajte Korištenje varijabli u čarobnjacima.dataodređuje dodatne postavke za određenu vrstu widgeta, kako je opisano u sljedećim odjeljcima.
Kutija za potvrdu
{
"name": "IncludeQObject",
"trDisplayName": "Include QObject",
"type": "CheckBox",
"data":
{
"checkedValue": "QObject",
"uncheckedValue": "",
"checked": "%{JS: value('BaseCB') === 'QObject' ? 'true' : 'false'}"
}
},checkedValueodređuje vrijednost koja se postavlja kada je potvrdni okvir omogućen. Po zadanom je postavljeno natrue.uncheckedValueodređuje vrijednost koja se postavlja kada je potvrdni okvir onemogućen. Po zadanome je postavljeno nafalse.checkedpostavljeno je natrueako je potvrdni okvir omogućen, inače nafalse.
Popis
Napomena: Tipovi Combo Box i Icon List obje su varijacije tipa List i stoga mogu imati ista svojstva.
{
"name": "BaseCB",
"trDisplayName": "Base class:",
"type": "ComboBox",
"data":
{
"items": [ { "trKey": "<Custom>", "value": "" },
"QObject", "QWidget", "QMainWindow", "QQuickItem" ]
}
},ili
{
"name": "ChosenBuildSystem",
"trDisplayName": "Choose your build system:",
"type": "IconList",
"data":
{
"items": [
{ "trKey": "CMake", "value": "cmake", "icon": "cmake_icon.png", "trToolTip": "Building with CMake." },
{ "trKey": "Qbs", "value": "qbs", "icon": "qbs_icon.png", "trToolTip": "Building with Qbs." },
{ "trKey": "QMake", "value": "qmake", "icon": "qmake_icon.png", "trToolTip": "Building with QMake." }
]
}
},itemsodređuje popis stavki koje se stavljaju u tip popisa. Popis može sadržavati i JSON objekte i obične nizove. Za JSON objekte definirajte parovetrKeyivalue, gdje jetrKeyvidljiva stavka popisa korisnicima, avaluesadrži podatke povezane sa stavkom. Osim toga, možete koristitiiconza određivanje ikone za stavku popisa itrToolTipza određivanje alata za pomoć (tooltip) za nju.indexodređuje indeks za odabir kada je tip popisa omogućen. Po zadanome je postavljen na0.disabledIndexodređuje indeks koji se prikazuje ako je tip popisa onemogućen.
Oznaka
{
"name": "LabelQQC_2_0",
"type": "Label",
"span": true,
"visible": "%{JS: value('CS') === 'QQC_2_0'}",
"data":
{
"wordWrap": true,
"trText": "Creates a deployable Qt Quick 2 application using Qt Quick Controls.",
}
},wordWrapje postavljena natrueza omogućavanje prijeloma riječi. Po zadanome je postavljena nafalse.trTextima tekst oznake za prikaz.
Uređivanje retka
{
"name": "Class",
"trDisplayName": "Class name:",
"mandatory": true,
"type": "LineEdit",
"data": {
"trPlaceholder": "Fully qualified name, including namespaces",
"validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)",
"completion": "namespaces"
}
},
{
"name": "BaseEdit",
"type": "LineEdit",
"enabled": "%{JS: value('BaseCB') === '' ? 'true' : 'false'}",
"mandatory": false,
"data":
{
"trText": "%{BaseCB}",
"trDisabledText": "%{BaseCB}",
"completion": "classes"
}
},trTextodređuje prijevodivi zadani tekst za prikaz.textodređuje netraducibilni zadani tekst za prikaz.trDisabledTextodređuje prijevodivi tekst za prikaz u onemogućeno polje.disabledTextodređuje tekst koji se ne prevodi i prikazuje se u onemogućeno polju.completionnavodi postojećenamespacese za linijsku ediciju klase i postojećeclassese za linijsku ediciju osnovne klase. Ova vrijednost zamjenjuje dovršivač povijesti koji je obično dostupan za takva polja.trPlaceholderodređuje tekst mjesta za prijevod.placeholderodređuje netraducirajući tekst mjesta držača.validatorodređuje QRegularExpression za provjeru unosa u linijskom uređivaču.fixupodređuje varijablu koja se koristi za prilagodbu niza. Na primjer, za pretvaranje prvog znaka u polju za unos u veliko slovo.isPasswordje logička vrijednost koja označava da linijski unos ima lozinku, koja će biti maskirana.historyIdje ključ koji određuje naziv za popis stavki za dovršivač povijesti. Ova vrijednost icompletionsu međusobno isključivi, stoga ih nemojte postavljati istovremeno.restoreLastHistoryItemje boolean koji određuje da se posljednji element povijesti automatski postavlja kao zadani tekst u polje za unos. Ovaj ključ može biti postavljen na true samo ako jehistoryIdtakođer postavljen.
Odabir puta
{
"name": "Path",
"type": "PathChooser",
"trDisplayName": "Path:",
"mandatory": true,
"data":
{
"kind": "existingDirectory",
"basePath": "%{InitialPath}",
"path": "%{InitialPath}"
}
},pathodređuje odabranu putanju.basePathodređuje osnovnu putanju u odnosu na koju se obavljaju pretraživanja.kinddefinira što tražiti:existingDirectory,directory,file,saveFile,existingCommand,command, iliany.
Razmaknica
{
"name": "Sp1",
"type": "Spacer",
"data":
{
"factor": 2
}
},Postavka factor određuje faktor (cijeli broj) kojim se množi razmak u rasporedu za ovaj razmaknik.
Uređivanje teksta
{
"name": "TextField",
"type": "TextEdit",
"data" :
{
"trText": "This is some text",
"richText": true
}
}trTextodređuje tekst za prikaz koji se može prevoditi.textodređuje tekst koji se ne prevodi i prikazuje.trDisabledTextodređuje prijevodiv tekst za prikaz kada je uređivanje teksta onemogućeno.disabledTextodređuje nepremostivi tekst za prikaz kada je uređivanje teksta onemogućeno.richTextpostavljeno je natrueza obogaćeni tekst, inačefalse.
Dostupni generatori
Qt Creator podržava dva različita generatora za JSON čarobnjake.
Generator datoteka
File generator očekuje popis objekata u odjeljku data. Svaki objekt definira jednu datoteku koja će se obraditi i kopirati u %\{TargetPath\} (ili bilo koju drugu lokaciju).
Svaki objekt datoteke može imati sljedeće postavke:
sourceodređuje putanju i naziv predložne datoteke u odnosu na direktorij koji sadrži datotekuwizard.json.Ako
sourcenije postavljeno, pretpostavlja se da se datoteka s nazivom navedenim utargetgenerira na neki drugi način. To je korisno, na primjer, za navođenje ispravne datoteke koju treba otvoriti kao projekt nakon preuzimanja podataka iz sustava za kontrolu verzija.targetodređuje lokaciju generirane datoteke, bilo apsolutnu ili relativnu u odnosu na%{TargetPath}, što obično postavlja jedna od stranica čarobnjaka.openInEditorotvara datoteku u odgovarajućem uređivaču ako je postavljeno natrue. Ova postavka prema zadanim postavkama jefalse.openAsProjectotvara datoteku projekta u Qt Creator ako je postavljeno natrue. Ova postavka prema zadanim postavkama jefalse.isBinarytretira datoteku kao binarnu i sprječava zamjene u datoteci ako je postavljeno natrue. Ova postavka zadano jefalse.conditiongenerira datoteku ako uvjet vratitrue. Ova postavka zadano jetrue. Za više informacija pogledajte Odjeljak Korištenje varijabli u čarobnjacima.
Generator skenera
Scanner generator skenira %\{TargetPath\} i generira popis svih tamo pronađenih datoteka.
Scanner generator uzima jedan objekt u svom odjeljku data s sljedećim postavkama:
binaryPatternje regularni izraz koji će se usporediti sa svim pronađenim nazivima datoteka. Svaki podudaran naziv bit će označen kao binarna datoteka i zamjena predloška bit će preskočena za tu datoteku. Ovo postavljanje prema zadanim postavkama ima prazan obrazac, pa nijedna datoteka neće biti označena kao binarna.subdirectoryPatternsje popis obrazaca s regularnim izrazima. Svaka mapa koja odgovara jednom od tih obrazaca bit će skenirana, kao i glavna mapa. Zadana vrijednost ove postavke je prazan popis, tako da se nijedna podmapu neće skenirati.
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.