WebHU - Programozási kérdések és válaszok

Beágyazott átjátszók QML Qt

Row {
     Rectangle { width: 10; height: 20; color: "red" }
     Repeater {
         model: 10
         Rectangle { width: 20; height: 20; radius: 10; color: "green" }
     }
     Rectangle { width: 10; height: 20; color: "blue" }
 }

Itt szeretném, ha minden középső téglalap színét listából kell kiválasztani. azaz minden színnek másnak kell lennie, nem pedig zöldnek.

Szükségem van beágyazott ismétlőkre? Hogyan kell ezzel foglalkoznom?

01.03.2014

  • Amikor valahonnan másol-beilleszti a kódot, udvarias lenne a forrásra hivatkozni, ebben az esetben a Qt-dokumentumok 01.03.2014
  • @hyde Általában akkor csinálom, ha a kód kissé nagy. Oké, legközelebb az apró kódoknál is megteszem. 01.03.2014

Válaszok:


1

Az alább látható módon használhatja a index-t, ha a modell csak egy szám. Ezután ezt a számot színre kell konvertálnia, például a Qt.rgba() vagy Qt.hsva() függvény használatával, az alábbiak szerint. Az első átjátszó a kódban (itt ) csúsztatható árnyalatot hoz létre a szivárványhatás érdekében.

Ha csak a színeket tömbként szeretné felsorolni, és ismétlőt szeretne használni a megjelenítésükhöz, a második átjátszó megmutatja, hogyan kell ezt megtenni. Csak állítsa be a tömböt modellként, és használja a modelData jelet az átjátszóban az érték eléréséhez.

Row {
    Rectangle { width: 10; height: 20; color: "red" }

    // use index (values 0..9) to generate "rainbow"
    Repeater {
        model: 10
        Rectangle {
            width: 20; height: 20; radius: 10
            color: Qt.hsla(index/(10-1), 1, 0.5, 1)
        }
    }

    // use modelData to get color string from model
    Repeater {
        model: [ "#808080", "#1100F0", "#F20F20", "#F3F620" ]
        Rectangle {
            width: 20; height: 20; radius: 10
            color: modelData
        }
    }

    Rectangle { width: 10; height: 20; color: "blue" }
}
01.03.2014
  • @TheRebelAquarius YW. Kicsit javítottam a választ, hogy lefedjem azt az esetet, amikor a modellben a színek tömbként szerepelnek, és az első esetet is megváltoztattam a hsva() használatára, ami gyakran kényelmesebb, mint a rgba() a színek számokból történő előállításához. 01.03.2014
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..