[英]QML ProgressBar invalid property name "style"
我尝试使用 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"
}
}
}
}
但我有错误invalid property name "style" 。 我做错了什么?
您正在混合 Qt Quick Controls 1 和 Qt Quick Controls 2 的样式。要在 Qt Quick Controls 2 中自定义 ProgressBar,请参阅此页面:
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"
}
}
}
import QtQuick.Controls 2.15
...
import QtQuick.Controls.Styles 1.4
您在这里使用了两个不同版本的 QtQuick,即。 您从QtQuick.Controls 2.15
导入了ProgressBar
,它没有style
属性( https://doc.qt.io/qt-5/qml-qtquick-controls2-progressbar.html )。
有关差异的更多信息,请参见此处: https://doc.qt.io/qt-5/qtquickcontrols2-differences.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.