Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]

Posted

技术标签:

【中文标题】Qml QtQuick2\'无效的属性名称“样式”(M16)\' [重复]【英文标题】:Qml QtQuick2 'Invalid property name "style"(M16)' [duplicate]Qml QtQuick2'无效的属性名称“样式”(M16)' [重复] 【发布时间】:2016-09-18 13:30:23 【问题描述】:

我正在 Qt5.7.0 QtCreator 4.1 中编写一个移动应用程序,我在 QtQuick qml 文件中收到错误“无效的属性名称“样式”(M16)”并且表单不想显示某些内容。我做错了什么?

我必须先在项目中配置一些东西还是使用其他类型的文件?

我尝试在某些组件上使用此属性,但它仅适用于 Text 对象,我不知道为什么。

这是我的代码:

//register_form.qml
import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.1
Item 
    width: 270
    height: 480
    anchors.fill: parent

    ColumnLayout 
        id: loginLayout
        anchors.rightMargin: 15
        anchors.bottomMargin: 92
        anchors.leftMargin: 23
        anchors.topMargin: 91
        anchors.fill: parent

        TextField 
            TextFieldStyle 
                    id: phoneStyle
                    placeholderTextColor: "grey"
            
            id: phoneField
            placeholderText: "+7 XXX XXX XX XX"
            Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
        

        Button 
             style: //error occurs here
                 ButtonStyle 
                  
        id: loginButton
        text: "Next"
        Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
        highlighted: true
        
    

【问题讨论】:

【参考方案1】:

来自控件 2 的 Button doesn't have 一个 style 属性。拥有它的 Button 是来自 Controls 1 的 the one。

至于样式 Controls 2 元素,take a look here。

【讨论】:

文档的更多相关部分在这里:doc.qt.io/qt-5/…

以上是关于Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Qml/QtQuick2 中的 QSignalBlocker?

在 Qt 5.0 中向 QML 公开 QAbstractListModel 元素属性

PySide2 + QML:QApplication:通过了无效的样式覆盖,忽略它

使用 QML 和 QtQuick2 时如何在另一个 .js 文件中包含 .js 文件?不涉及浏览器

无法在 Qt android 5.7 中将 QtQuick2 对象公开给嵌入的 html

从 QAbstractListModel 继承的列表模型,列表项属性不会从 QML 更新