Na ovoj stranici

ČPP

Odgovori na neka često postavljana pitanja o Qt Creator.

Odgovore na svoja pitanja također možete pronaći u odjeljcima Poznati problemi i Kako, ili u odjeljcima za rješavanje problema za posebna područja, kao što je otklanjanje pogrešaka.

Opća pitanja

Qt Creator dolazi s MinGW-om, trebam li koristiti ovu verziju s Qt-om?

Koristite verziju koja je izgrađena za tu verziju Qt-a.

Qt Creator ne pronalazi pomoćnu aplikaciju, kao što su Git, Ninja ili kompajler. Što trebam učiniti?

Provjerite je li aplikacija u sustavnoj PATH putanji kada pokrećete Qt Creator. Također odaberite Postavke kako biste provjerili postavke navedene za aplikaciju. Mnogi dodaci navode ili putanju do alata koji im je potreban ili okruženje u kojem se izvršavaju.

Također možete globalno ili za određeni projekt ili kit odrediti okruženje za pronalaženje i pokretanje alata, kao što je opisano u odjeljku Uređivanje postavki okruženja.

Ovo je posebno važno kada pokrećete Qt Creator s radne površine, a ne iz terminala, na primjer iz Findera, Docka ili Spotlighta na macOS-u, ili iz Docka, Dash-a ili pregleda aktivnosti na Gnomeu. U tom slučaju pokrenuta aplikacija ne nasljeđuje okruženje koje ste postavili za svoj shell (a koje koristi vaša terminalna aplikacija), već ga umjesto toga nasljeđuje od launchd (macOS) ili gnome-shell (Gnome). To znači da staze koje ste postavili za svoj terminala, kao što su /usr/local/bin ili /opt/homebrew/bin za Homebrew na macOS-u, nisu automatski dostupne za Qt Creator ako ste ga pokrenuli s radne površine.

Je li prijavljeni problem riješen?

Možete potražiti bilo koji problem u praćenju grešaka Qt Projecta.

Qt Widgets Designer Pitanja o integraciji

Zašto se prilagođeni widgeti ne učitavaju u načinu rada Design, iako rade u samostalnoj aplikaciji Qt Widgets Designer?

Qt Widgets Designer preuzima dodatke iz standardnih lokacija i učitava one koji odgovaraju njegovom ključu izgradnje. Lokacije se razlikuju za samostalni i integrirani Qt Widgets Designer.

Za više informacija pogledajte Dodavanje Qt Widgets Designer dodataka.

Pitanja o QML-u i Qt Quick u

Zašto se ispod mog QML uvoza pojavljuje crvena linija, iako imam modul?

Po zadanome, Qt Creator traži u QML import putanji Qt-a za QML module. Ponekad to ne uspije i morate mu reći gdje se moduli nalaze. Kada koristite qmake kao sustav za izgradnju, navedite QML_IMPORT_PATH u .pro datoteci vaše aplikacije. Kada koristite CMake, dodajte naredbu set u CMakeLists.txt datoteku.

Ovo također omogućuje dopunu QML koda i uklanja poruke o pogreškama.

Sljedeći primjer ilustrira kako specificirati putanju uvoza za projekte qmakea tako da radi pri prebacivanju između build i run kitova za različite ciljne platforme:

TEMPNAME = $${QMAKE_QMAKE}
MY_QTPATH = $$dirname(TEMPNAME)
QML_IMPORT_PATH += $$MY_QTPATH/../qml
message("my QML Import Path: "$$QML_IMPORT_PATH)

Za više informacija o tome kako postaviti putanju uvoza za CMake projekte pogledajte Uvoz QML modula.

Što trebam učiniti kada se Qt Creator žali na nedostajuću podršku za OpenGL?

Neki dijelovi Qt Creator a, kao što je QML Profiler, koriste Qt Quick 2, koji se za iscrtavanje oslanja na OpenGL API. Nažalost, korištenje OpenGL-a može uzrokovati probleme, posebno u udaljenim postavkama i s zastarjelim upravljačkim programima. U tim slučajevima Qt Creator prikazuje poruke o pogreškama vezane uz OpenGL na konzoli ili ih bilježi u zapisnik Windows debuggera.

Popravci i zaobilazna rješenja razlikuju se ovisno o vašoj konfiguraciji. Kao krajnje sredstvo možete onemogućiti pogođene dodatke.

Virtualne mašine

Pokušajte omogućiti 3D akceleraciju u postavkama vaše virtualne mašine. Za VirtualBox također provjerite jeste li instalirali Guest Addons, uključujući eksperimentalnu podršku za Direct3D.

Windows

Po zadanome Qt Quick koristi Direct3D 11. Ako imate problema, pokušajte ažurirati grafičke upravljačke programe ili ažurirati verziju DirectX-a. Pokrenite dxdiag.exe kako biste provjerili je li Direct3D akceleracija doista omogućena.

Također možete pokušati postaviti varijablu okruženja QSG_RHI_BACKEND na vulkan ili opengl. Pogledajte Qt for Windows - Graphics Acceleration za detalje.

Unix

Pokrenite glxgears za brzu provjeru radi li OpenGL općenito. Provjerite izlaz glxinfo kako biste dobili više detalja, poput OpenGL upravljačkog programa i renderera (potražite OpenGL u izlazu aplikacije).

Ako koristite Mesa upravljački program, možete prisiliti da se OpenGL renderira softverski postavljanjem varijable okruženja LIBGL_ALWAYS_SOFTWARE.

Onemogućavanje dodataka

Možete onemogućiti dodatke za Qt Creator, uz gubitak funkcionalnosti:

  • Pokrenite Qt Creator iz naredbenog retka s argumentima za -noload QmlProfiler -noload QmlDesigner.
  • trajno onemogućite dodatke odabirom Help > About Plugins.

Pitanja za pomoć

Referentna dokumentacija Qt API-ja nedostaje i pomoć u kontekstu ne pronalazi teme. Što mogu učiniti?

Instalirajte verziju Qt-a i Qt dokumentaciju s Qt Online Installer.

Da biste pregledali instaliranu dokumentaciju (.qch datoteke) i dodali dokumentaciju, idite na Preferences > Help > Documentation. Za više informacija pogledajte Dodavanje vanjske dokumentacije.

Pitanja o otklanjanju pogrešaka

Za informacije o otklanjanju poteškoća s otklanjivačem pogrešaka pogledajte Otklanjanje poteškoća s otklanjivačem pogrešaka.

Ako imam izbor verzija GDB-a, koju bih trebao koristiti?

Na Linuxu i Windowsu koristite verzije GDB-a s podrškom za Python koje su instalirane prilikom instalacije Qt Creator a i Qt-a. Na macOS-u GDB više nije službeno podržan. Da biste izgradili vlastiti GDB s podrškom za Python, slijedite upute u odjeljku Izgradnja GDB-a.

Morate koristiti Python verziju 2.6 ili 2.7.

Za više informacija pogledajte Podržani otklanjivači pogrešaka.

Kako generirati core datoteku u Qt Creator u?

Da biste pokrenuli GDB naredbu koja generira core datoteku tijekom otklanjanja pogrešaka, idite na View > Views > Debugger Log. U polje Command unesite gcore i pritisnite Enter. Core datoteka se stvara u trenutnom radnom direktoriju. Kao argument naredbe možete navesti i drugu lokaciju za datoteku, uključujući relativnu ili apsolutnu putanju.

Pitanja o kompajleru

Kako mogu iskoristiti svoj višeslojni procesor (multi-core CPU) s Qt Creator-om?

Na Linuxu i macOSu idite u način rada Projects, odaberite svoju konfiguraciju u Build Settings, pronađite Build Steps i dodajte sljedeću vrijednost, gdje je <num> broj jezgri u vašem CPU-u: -j <num>

Na Windowsu, nmake ne podržava parametar -j. Umjesto toga, možete koristiti jom. Možete preuzeti unaprijed kompajliranu verziju joma s Qt Downloadsa. Postavite jom.exe na lokaciju unutar %PATH%-a. Idite na Build Settings i postavite jom.exe kao naredbu za make.

Napomena: Za razliku od GNU makea, jom automatski otkriva vaše jezgre i pokreće onoliko paralelnih procesa koliko vaš procesor ima jezgri. Ovo ponašanje možete nadjačati korištenjem parametra -j, kao što je gore opisano.

Pitanja o instalaciji Qt-a

Ne mogu koristiti QSslSocket s Qt-om koji sam instalirao iz binarnih paketa. Što da radim?

Qt u binarnim paketima izgrađen je s definiranom opcijom QT_NO_OPENSSL. Njegova je ponovna izgradnja moguća. Za više informacija pogledajte http://www.qtcentre.org/threads/19222-Qssl.

Koji razvojni paketi iz distribucije su potrebni na Ubuntu ili Debianu?

sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev

Ako koristite QtOpenGL, također trebate:

sudo apt-get install libgl-dev libglu-dev

Gdje se prikazuje izlaz aplikacije u Qt Creator?

Na Unixu (Linux i macOS): qDebug() i povezane funkcije koriste standardni izlaz i izlaz za pogreške. Kada pokrenete ili otklanjate pogreške u aplikaciji, izlaz možete vidjeti u Application Output.

Za konzolne aplikacije koje zahtijevaju unos, odaberite Projects > Run Settings > Run in terminal. Da biste odredili terminal koji ćete koristiti, odaberite Preferences > Environment > System. Da biste koristili interni terminal, odaberite Preferences > Terminal > Use internal terminal.

Na Windowsu: Izlaz se prikazuje drugačije za konzolne i GUI aplikacije.

Za projekte qmake, postavka CONFIG += console u datoteci .pro određuje da se aplikacija gradi kao konzolna aplikacija koristeći neko drugo okruženje za pokretanje.

To je standardno ponašanje za CMake projekte. Da biste stvorili GUI aplikaciju na Windowsu ili paket aplikacije na macOS-u, morate navesti svojstvo WIN32 ili MACOSX_BUNDLE za naredbu qt_add_executable u datoteci CMakeLists.txt.

Kada pokrenete konzolnu aplikaciju, izlaz možete vidjeti u prozoru konzole aplikacije koja je pokreće. Ako je aplikacija koja je pokreće GUI aplikacija (na primjer, verzija Qt Creator-a izgrađena za distribuciju), otvara se novi prozor konzole. Za ovu vrstu aplikacije, qDebug() i povezane funkcije koriste standardni izlaz i standardni izlaz za pogreške.

Preporučujemo da za konzolne aplikacije odaberete Projects > Run Settings > Run in terminal.

Za GUI aplikacije, qDebug() i povezane funkcije koriste Windows API funkciju OutputDebugString(). Izlaz se prikazuje u Application Output. Međutim, Qt Creator može ispravno prikazati izlaz samo iz jednog izvora odjednom. Možete koristiti vanjski preglednik debug izlaza, kao što je DebugView for Windows, za prikaz izlaza iz GUI aplikacija.

Pitanja o novim značajkama

Hoće li zatražena značajka biti implementirana?

Ako je riječ o planiranoj značajci, to možete vidjeti u praćenju zadataka. Ako je značajka već implementirana, spominje se u datoteci s promjenama za nadolazeće izdanje.

Zašto Qt Creator ne koristi kartice za uređivače prema zadanim postavkama?

Ovo su naši glavni razlozi za neupotrebu kartica prema zadanim postavkama:

  • Složci se ne prilagođavaju. Dobro funkcioniraju ako imate 5 do 6 otvorenih uređivača, postaju nezgrapni s 10, a ako vam treba više horizontalnog prostora od trake s karticama, sučelje uopće ne radi.
  • Tabs se ne prilagođavaju vašem radnom skupu.
  • Uobičajeno rješenje je omogućiti korisniku preuređivanje kartica. Sada korisnik mora upravljati karticama umjesto da piše kod.
  • Jezike vas prisiljavaju da ograničite broj otvorenih uređivača jer biste inače postali zbunjeni.

Razmotrite sljedeći slučaj upotrebe: programeri žele mijenjati uređivače.

Zapravo, programeri ne žele mijenjati uređivače, ali to ponekad moraju učiniti kako bi dovršili svoje zadatke. Moramo otkriti koji su ti zadaci kako bismo programerima ponudili bolje načine navigacije tijekom njihovog izvršavanja.

Jedan zajednički čimbenik u mnogim slučajevima upotrebe je prebacivanje uređivača dok se radi na skupu otvorenih datoteka. Dok rade na datotekama A i B, korisnici ponekad trebaju pogledati datoteku C. Mogu odabrati Ctrl+Tab za premještanje između datoteka i imati datoteke otvorene u ispravnom uređivaču prema vrsti datoteke. Popis je sortiran prema posljednjoj upotrebi.

Korisnici obično rade i na više povezanih klasa ili funkcija, iako su definirane ili deklarirane u različitim datotekama. Qt Creator nudi dvije prečace za to: F2 za praćenje simbola ispod kursora i Ctrl+Shift+U za pronalaženje referenci na njega.

Osim toga, programeri mogu:

  • Odaberite F4 za prebacivanje između zaglavlja i izvornog koda.
  • Odaberite Alt+Lijevo za pomicanje unatrag u povijesti navigacije.
  • Koristite lokator (Ctrl+K) da jednostavno kažete Qt Creator u kamo da ode.

Lokator se može koristiti za otvaranje datoteka, ali otvaranje datoteka također je samo korak na putu prema obavljanju zadatka. Na primjer, razmotrite sljedeći slučaj upotrebe: popraviti AFunction u SomeClass koji dolazi iz someclass.cpp/someclass.h.

S korisničkim sučeljem s karticama, programeri bi pretražili someclass.cpp u traci s karticama, a zatim pretražili ::AFunction, samo da bi otkrili da funkcija nije smještena u toj datoteci. Zatim bi pretražili someclass.h u traci s karticama, otkrili da je funkcija inlin, riješili problem i zaboravili odakle su došli.

Uz Qt Creator, programeri mogu upisati Ctrl+K m AFun kako bi pronašli funkciju. Obično im je dovoljno upisati samo 3 do 4 znaka naziva funkcije. Zatim mogu popraviti problem i odabrati Alt+Back kako bi se vratili na prethodno mjesto.

Ostali filtri lokatora uključuju c za klase, : za sve simbole i . za simbole u trenutnoj datoteci.

Drugi način prebacivanja između otvorenih dokumenata je odabir dokumenta u prikazu Open Documents.

Environment Interface Use tabbed editorsAko i dalje želite koristiti kartice u uređivačima, idite na Postavke > Prikaz kartica > Prikaz svih simbola, a zatim odaberite Prikaz simbola u trenutnoj datoteci.

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.