Warning, /frameworks/kirigami/examples/imagecolorstest.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.15 0002 import QtQuick.Layouts 1.15 0003 import QtQuick.Controls 2.15 as Controls 0004 import org.kde.kirigami 2.20 as Kirigami 0005 0006 RowLayout { 0007 id: root 0008 0009 width: 500 0010 height: 500 0011 0012 property var icons: ["desktop", "firefox", "vlc", "blender", "applications-games", "blinken", "adjustlevels", "adjustrgb", "cuttlefish", "folder-games", "applications-network", "multimedia-player", "applications-utilities", "accessories-dictionary", "calligraflow", "calligrakrita", "view-left-close","calligraauthor"] 0013 property int i 0014 0015 Kirigami.ImageColors { 0016 id: palette 0017 source: icon.source 0018 } 0019 Kirigami.ImageColors { 0020 id: imgPalette 0021 source: image 0022 } 0023 0024 ColumnLayout { 0025 Rectangle { 0026 Layout.preferredWidth: 200 0027 Layout.preferredHeight: 200 0028 z: -1 0029 color: palette.dominantContrast 0030 Kirigami.Icon { 0031 id: icon 0032 anchors.centerIn: parent 0033 width: 128 0034 height: 128 0035 source: "desktop" 0036 } 0037 } 0038 Rectangle { 0039 Layout.preferredWidth: 30 0040 Layout.preferredHeight: 30 0041 color: palette.average 0042 } 0043 Controls.Button { 0044 text: "Next" 0045 onClicked: { 0046 i = (i + 1) % icons.length 0047 icon.source = icons[i] 0048 // palette.update() 0049 } 0050 } 0051 0052 Repeater { 0053 model: palette.palette 0054 delegate: RowLayout { 0055 Layout.fillWidth: true 0056 Rectangle { 0057 implicitWidth: 10 + 300 * modelData.ratio 0058 implicitHeight: 30 0059 color: modelData.color 0060 } 0061 Item { 0062 Layout.fillWidth: true 0063 } 0064 Rectangle { 0065 color: modelData.contrastColor 0066 implicitWidth: 30 0067 implicitHeight: 30 0068 } 0069 } 0070 } 0071 } 0072 Item { 0073 Layout.preferredWidth: 500 0074 Layout.preferredHeight: 500 / (image.sourceSize.width / image.sourceSize.height) 0075 Image { 0076 id: image 0077 source: "https://source.unsplash.com/random" 0078 anchors.fill: parent 0079 onStatusChanged: imgPalette.update() 0080 } 0081 ColumnLayout { 0082 Controls.Button { 0083 text: "Update" 0084 onClicked: { 0085 image.source = "https://source.unsplash.com/random#" + (new Date()).getMilliseconds() 0086 } 0087 } 0088 Repeater { 0089 model: imgPalette.palette 0090 delegate: RowLayout { 0091 Layout.fillWidth: true 0092 Rectangle { 0093 implicitWidth: 10 + 300 * modelData.ratio 0094 implicitHeight: 30 0095 color: modelData.color 0096 } 0097 Item { 0098 Layout.fillWidth: true 0099 } 0100 Rectangle { 0101 color: modelData.contrastColor 0102 implicitWidth: 30 0103 implicitHeight: 30 0104 } 0105 } 0106 } 0107 } 0108 Item { 0109 width: 300 0110 height: 150 0111 Kirigami.Theme.backgroundColor: imgPalette.background 0112 Kirigami.Theme.textColor: imgPalette.foreground 0113 Kirigami.Theme.highlightColor: imgPalette.highlight 0114 0115 anchors { 0116 bottom: parent.bottom 0117 right: parent.right 0118 } 0119 0120 Rectangle { 0121 anchors.fill: parent 0122 opacity: 0.8 0123 color: Kirigami.Theme.backgroundColor 0124 } 0125 ColumnLayout { 0126 anchors.centerIn: parent 0127 RowLayout { 0128 Rectangle { 0129 Layout.alignment: Qt.AlignCenter 0130 implicitWidth: 10 0131 implicitHeight: 10 0132 color: Kirigami.Theme.highlightColor 0133 } 0134 Controls.Label { 0135 text: "Lorem Ipsum dolor sit amet" 0136 color: Kirigami.Theme.textColor 0137 } 0138 } 0139 RowLayout { 0140 Controls.TextField { 0141 Kirigami.Theme.inherit: true 0142 text: "text" 0143 } 0144 Controls.Button { 0145 Kirigami.Theme.inherit: true 0146 text: "Ok" 0147 } 0148 } 0149 } 0150 } 0151 } 0152 }