簡體   English   中英

QML ProgressBar 無效的屬性名稱“style”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM