Show code »
helloworld.qml:
import QtQuick 1.0 Rectangle { width: 800; height: 200 property string label: "Hello world!" property variant fontFamilies: [ "Georgia", "Verdana", "Tahoma", "Lucida Console", "Century Gothic", "Courier New", "Times New Roman"] function randomFont() { return fontFamilies[Math.floor(Math.random()*fontFamilies.length)] } Row { id: row spacing: -10-10*Math.random() anchors.centerIn: parent Repeater { model: label.length Text { text: label[index] opacity: 0.5+0.5*Math.random() anchors.verticalCenter: parent.verticalCenter property real distance: 2*Math.abs(index-label.length/2) / label.length font { family: randomFont() capitalization: Font.AllUppercase pixelSize: 130+30*Math.random()-50*distance } Repeater { model: 5+5*Math.random() Text { text: parent.text opacity: 0.6+0.4*Math.random() anchors.centerIn: parent font { family: randomFont() capitalization: Font.AllUppercase pixelSize: 130+30*Math.random()-50*distance } } } } } } }
Show code »
alphabets.qml:
import QtQuick 1.0 Rectangle { width: grid.width+100; height: grid.height+100 property real letterHeight property real letterWidth property string alphabets: "abcdefghijklmnopqrstuvwxyzåäö" property variant fontFamilies: [ "Castellar", "Century Gothic", "Courier New", "Bodoni MT Condensed", "AngsanaUPC", "Bodoni MT Black", "Copperplate Gothic Bold", "Pistilli", "Rockwell Extra Bold"] function randomFont() { return fontFamilies[Math.floor(Math.random()*fontFamilies.length)] } function resizeLetters() { var rows = alphabets.length/grid.columns letterHeight = Math.round(grid.height/rows) letterWidth = Math.round(grid.width/grid.columns) for (var index = 0; index < grid.children.length; index++) { var child = grid.children[index] if (child.width != undefined) { child.height = letterHeight child.width = letterWidth } } } Timer { interval: 50 running: true onTriggered: resizeLetters() } Grid { columns: 6 anchors { centerIn: parent; verticalCenterOffset: -15 } Repeater { model: alphabets.length Rectangle { height: letterHeight width: letterWidth color: Qt.rgba(0.4+0.6*Math.random(), 0.4+0.6*Math.random(), 0.4+0.6*Math.random()) } } } Grid { id: grid columns: 6 anchors { centerIn: parent; verticalCenterOffset: -15 } Repeater { model: alphabets.length Text { text: alphabets[index] font { pixelSize: 120 family: randomFont() capitalization: Font.AllUppercase } Repeater { model: 3+Math.random()*2 Text { text: parent.text anchors.centerIn: parent font { pixelSize: 120 family: randomFont() capitalization: Font.AllUppercase } } } } } } }