Na ovoj stranici

Postavite napredna svojstva komponente

U odjeljcima Advanced i Layer prikaza Properties možete upravljati naprednijim svojstvima komponenti koje nasljeđuju od komponente Item i koja uglavnom koriste programeri aplikacija.

Napredna sekcija u svojstvima.

Odaberite Smooth kako biste aktivirali glatko uzorkovanje. Glatko uzorkovanje se provodi linearnom interpolacijom, dok se neglatko uzorkovanje provodi metodom najbližeg susjeda. Budući da glatko uzorkovanje ima minimalan utjecaj na performanse, ono je aktivirano prema zadanim postavkama.

Antialiasing se koristi za glađe prikazivanje zakrivljenih linija na zaslonu. Odaberite Antialising da biste uključili antialiasing.

Vrijednost opcije Baseline offset određuje položaj osnovne crte komponente u lokalnim koordinatama. Osnovna crta komponente Text je zamišljena linija na kojoj se nalazi tekst. Kontrole koje sadrže tekst obično postavljaju svoju osnovnu crtu na osnovnu crtu svog teksta. Za komponente koje ne sadrže tekst koristi se zadani pomak osnovne crte od 0.

Upravljanje događajima miša i tipkovnice

Odaberite Enabled kako biste omogućili komponenti primanje događaja miša i tipkovnice. Podkomponente nasljeđuju ovo ponašanje, osim ako im izričito ne postavite ovu vrijednost.

Možete omogućiti potvrdni okvir " Focus " kako biste naveli da komponenta ima aktivni fokus i potvrdni okvir " Focus on tab " kako biste dodali komponentu u lanac fokusa kartica. Lanac fokusa kartica prolazi kroz komponente tako da prvo posjećuje roditeljsku komponentu, a zatim njezine podređene komponente redoslijedom kojim su definirane. Pritiskom na tipku Tab na komponenti u lancu fokusa kartica pomiče se fokus tipkovnice na sljedeću komponentu u lancu. Pritiskom na tipku Back Tab (obično Shift+Tab) fokus se pomiče na prethodnu komponentu.

Koristite slojeve

Qt Quick koristi namjenski graf scenu koji se zatim prolazi i renderira putem grafičkog API-ja kao što su OpenGL ES, OpenGL, Vulkan, Metal ili Direct 3D. Korištenje grafičkog grafa scene umjesto tradicionalnih imperativnih sustava iscrtavanja znači da se scena koja se treba iscrtati može zadržati između sličica te da je cjelokupni skup primitiva za iscrtavanje poznat prije početka iscrtavanja. To otvara mogućnost za niz optimizacija, kao što su grupno iscrtavanje radi minimiziranja promjena stanja i odbacivanje skrivenih primitiva.

Na primjer, korisničko sučelje može sadržavati popis od deset stavki, pri čemu svaka stavka ima boju pozadine, ikonu i tekst. Korištenjem tradicionalnih tehnika crtanja to bi rezultiralo 30 poziva za crtanje i sličnim brojem promjena stanja. Scene graf, s druge strane, mogao bi reorganizirati primitive za iscrtavanje tako da se sve pozadine iscrtaju u jednom pozivu, zatim sve ikone, a potom sav tekst, čime bi se ukupan broj poziva za iscrtavanje smanjio na samo 3. Ovakvo grupiranje i smanjenje promjena stanja mogu znatno poboljšati performanse na nekom hardveru.

Potrebno je imati osnovno razumijevanje načina na koji se komponente iscrtavaju kako biste mogli postaviti svojstva sloja. Iscrtavanje je opisano u Qt Quick Scene Graph Default Renderer.

Svojstva sloja.

Komponente se obično iscrtavaju izravno u prozor kojem pripadaju. Međutim, odabirom Enabled u odjeljku Layer možete delegirati komponentu i cijelo njezino poddrvo na izvanekransku površinu. Samo će se izvanekranska površina, tekstura, potom iscrtati u prozor. Za više informacija pogledajte Item Layers.

Kada je slojevanje omogućeno, komponentu možete izravno koristiti kao teksturu, u kombinaciji s komponentom koju odaberete u polju Effect. Obično bi ta komponenta trebala biti efekt shadera s navedenom izvorom teksture.

Kako bi komponentu omogućili da ispravno proslijedi offscreen površinu sloja efektu, polje Sampler name postavlja se na izvorno svojstvo teksture.

Imajte na umu da kada je sloj komponente omogućen, scenograf će dodijeliti memoriju na GPU-u jednaku vrijednosti širina x visina x 4. U konfiguracijama s ograničenom memorijom, veliki slojevi trebaju se koristiti s oprezom. Također, komponenta koja koristi sloj ne može se grupirati tijekom iscrtavanja. To znači da scena s mnogo komponenti slojevima može imati problema s performansama.

Po zadanom je multisampling omogućen za cijeli prozor ako se koristi renderer scenografa i ako ga podržava grafički API. Postavljanjem vrijednosti u polje " Samples " možete zatražiti multisampling za dio scene. Na taj se način multisampling primjenjuje samo na određenu podgranu, što može dovesti do značajnog poboljšanja performansi. Čak i tada, omogućavanje multisamplinga može biti potencijalno skupo bez obzira na veličinu sloja, jer nosi trošak u pogledu performansi i memorije koji ovisi o hardveru i upravljačkom programu. Ako podrška za multisample renderbuffere i kopiranje framebuffera nije dostupna, vrijednost se tiho zanemaruje.

Vrijednost polja Format određuje interni OpenGL format teksture. Ovisno o implementaciji OpenGL-a, to vam može omogućiti uštedu memorije za teksture. Međutim, vrijednosti RGB i Alpha koristite s oprezom jer ih temeljni hardver i upravljački program možda ne podržavaju.

U polju Texture mirroring navedite treba li generirana OpenGL tekstura biti ogledalana preokretanjem duž x ili y osi. Prilagođeno ogledalo može biti korisno ako generiranu teksturu izravno koriste prilagođeni shader-i. Ako za slojevitu komponentu nije naveden nikakav učinak, ogledalo nema učinka na korisnički sučelju komponentu.

Komponenta će koristiti linearnu interpolaciju za skaliranje ako je odabrano Smooth. Za korištenje mipmapa za smanjenje razlučivosti odaberite Mipmap. Mipmapping može poboljšati vizualnu kvalitetu smanjenih komponenti. Za mipmapping pojedinačnih komponenti Image odaberite umjesto toga Mipmap u svojstvima slike.

Da biste koristili teksturu s veličinom koja se razlikuje od veličine komponente, navedite širinu i visinu teksture u polju Texture size.

Wrap mode definira načine omotavanja OpenGL-a povezane s teksturom. Teksturu možete ograničiti na rubove ili je ponavljati vodoravno i okomito. Imajte na umu da neke implementacije OpenGL ES 2 ne podržavaju način omotavanja Repeat za teksture koje nisu moć dvije.

Vidi također Kako: dizajnirati sučelja za Qt Quick , dizajn sučelja zaQt Quick i dizajn sučelja za Qt Quick .

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.