Qt快速控制样式ReferenceError

时间:2014-02-06 10:33:01

标签: qt qml

我想在“ComponentStyle.qml”(Qt5)等文件中隔离组件的样式

ComponentSyle.qml

Item {
    id:root

    Component {
        id: touchStyle
        ButtonStyle {
                ....
        }
    }
    Component {
        id: switchStyle
        SwitchStyle {
                ....
        }
    }

}

所以,在我的main.qml中,我想使用类似的样式:

main.qml

    ...
    Button {
        style: touchStyle
        text: "Press me"
        width: parent.width
        anchors.horizontalCenter: parent.horizontalCenter
    }

但是,它不会工作!我有一些错误:

  

file:/// C:/Qt/5.2.0/msvc2012/qml/QtQuick/Controls/Switch.qml:133:TypeError:输入错误   file:/// C:/Qt/5.2.0/msvc2012/qml/QtQuick/Controls/Button.qml:92:TypeError:无法读取null的属性'width'

main.qml:60:ReferenceError:未定义touchStyle *

有人可以帮助我吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,我想我必须看到更多的ComponentStyle.qml,但我认为你缺少属性。

您应该使用这两个链接来全面了解如何格式化主题和样式的代码。

Styling - 在样式文本和按钮方面有很好的例子,非常适合你的情况。

QmlStyling - 列出了实现样式的不同方法和技巧。

我希望有所帮助。