Voici un fichier QML qui contient un contrôle Dial et une forme personnalisée côte à côte :
import QtQuick 2.9
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.3
import QtQuick.Window 2.2
import QtQuick.Shapes 1.0
Window {
id: window
visible: true
width: 400
height: 200
RowLayout {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
spacing: 5
Dial {
id: dial1
}
Control {
id: dial2
implicitWidth: dial1.width
implicitHeight: dial1.height
antialiasing: true
Shape {
anchors.fill: parent
antialiasing: true
ShapePath {
strokeWidth: 1
strokeColor: dial2.visualFocus ? dial2.palette.highlight : dial2.palette.dark
startX: dial2.width/2
startY: 0
PathArc {
x: dial2.width/2
y: dial2.height
radiusX: dial2.width/2
radiusY: dial2.height/2
direction: PathArc.Clockwise
}
PathArc {
x: dial2.width/2
y: 0
radiusX: dial2.width/2
radiusY: dial2.height/2
direction: PathArc.Clockwise
}
}
}
}
}
}
Depuis antialiasing: true
est défini à la fois sur le contrôle et sur la forme, je me serais attendu à ce que le chemin soit lisse. Or, il est en dents de scie :
Comment puis-je antialiaser la forme ?