Я подумал, что здесь было бы полезно отметить, что я нашел альтернативное решение, которое я в итоге использовал. Это было несколько другое, чем то, что я спросил (если бы я лучше объяснил, что я пытался сделать, я думаю, что это было бы предложено). Поскольку я думаю, что это может быть полезно для других, которые в будущем столкнутся с подобной ситуацией, я решил опубликовать это.
Сначала я работал над созданием тумблера в соответствии с приведенным выше кодом, затем научился настраивать его. это с TumblerStyle. После этого я нашел хороший пост, объясняющий некоторую логику того, как QtQuickControls 1 превратился в QtQuickControls2 здесь .
В тот момент я решил, что могу просто настроить QtQuickControl2 Tumbler. В конце я помещаю тумблер в прямоугольник и добавляю 3D-эффект к прямоугольнику через градиент.
Тогда мой первоначальный код стал:
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
anchors.centerIn: parent
height: Math.round(parent.height/2)
width: Math.round(parent.width/5)
antialiasing: true;
Tumbler {
id: tumbler
anchors.fill: parent
model: 10
}
gradient: Gradient {
GradientStop { position: 0.0; color: Material.color(Material.Grey,Material.Shade500) }
GradientStop { position: 0.5; color: "transparent" }
GradientStop { position: 1.0; color: Material.color(Material.Grey,Material.Shade500) }
}
}
}
Я понимаю, что потерялграница и тень? эффекты, которые были автоматически предоставлены QtQuickControl 1 Tumbler. Однако в моем проекте уже была граница, поэтому мне не хватало только тени ... и это в моем списке дел для следующего выпуска ...
Наконец, я знаю размер текста идругие детали должны быть настроены (как они есть в моем проекте);этот Неваляшка выглядит немного неловко. Я полагал, что настройка, стилизация и корректировки не относятся к этой статье.
![enter image description here](https://i.stack.imgur.com/h5xbE.png)