我尝试使用QML ProgressBar。 这是文档 https://doc.qt.io/qt-5/qml-qtquick-controls-styles-progressbarstyle.html#details
我尝试这段代码
import QtQuick 2.14
import QtQuick.Controls 2.15
import QtQuick.Window 2.14
import QtQuick.Controls.Styles 1.4
Window {
id: root
width: 300; height: 300
ProgressBar {
value: 0.5
style: ProgressBarStyle {
background: Rectangle {
radius: 2
color: "lightgray"
border.color: "gray"
border.width: 1
implicitWidth: 200
implicitHeight: 24
}
progress: Rectangle {
color: "lightsteelblue"
border.color: "steelblue"
}
}
}
}
但是我遇到错误无效的属性名称“样式” 。我做错了什么?
答案 0 :(得分:3)
您正在将Qt Quick Controls 1和Qt Quick Controls 2中的样式混合在一起。要在Qt Quick Controls 2中自定义ProgressBar,请参阅this page:
import QtQuick 2.12
import QtQuick.Controls 2.12
ProgressBar {
id: control
value: 0.5
padding: 2
background: Rectangle {
implicitWidth: 200
implicitHeight: 6
color: "#e6e6e6"
radius: 3
}
contentItem: Item {
implicitWidth: 200
implicitHeight: 4
Rectangle {
width: control.visualPosition * parent.width
height: parent.height
radius: 2
color: "#17a81a"
}
}
}
答案 1 :(得分:0)
import QtQuick.Controls 2.15
...
import QtQuick.Controls.Styles 1.4
您在此处使用的是QtQuick的两个不同版本。您从ProgressBar
导入了QtQuick.Controls 2.15
,而style
没有jQuery.Deferred exception: Adjusted is undefined calculateImpactOnScorecard
属性(https://doc.qt.io/qt-5/qml-qtquick-controls2-progressbar.html)。
有关差异的更多信息可以在这里找到: https://doc.qt.io/qt-5/qtquickcontrols2-differences.html