无法将TextAreaStyle分配给样式属性

时间:2016-08-22 14:16:38

标签: qt qml qtquick2 qtquickcontrols2

使用style属性更改可滚动TextArea的文本颜色时出现问题。

我还添加了.pro文件中包含的模块:

QT += qml quick core quickcontrols2

这就是我的.qml文件:

 import QtQuick 2.7 
 import QtQuick.Controls 2.0
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.1
 import QtQuick.Controls.Material 2.0
 import QtGraphicalEffects 1.0

 ApplicationWindow {
 visible: true
 width: 640
 height: 480
 title: qsTr("Test")

 Page {
     width: parent.width
     height: parent.height
     background: Rectangle {
         color: "#000000"
         width: parent.width
         height: parent.height
     }

    Flickable {
        id: flickable
        anchors.bottom: parent.bottom
        width: parent.width-50
        flickableDirection: Flickable.VerticalFlick
        height: 200

        TextArea.flickable: TextArea {
            id: pane1
            text: "This is some text"
            font.bold: false
            font.pointSize: 10
            wrapMode: Text.WordWrap
            clip: true

            style: TextAreaStyle {
                textColor: "#4F4F4F"
            }

            background: Rectangle {
                color: "#FFFFFF"
                width: parent.width
                height: parent.height
            }
        }

        ScrollBar.vertical: ScrollBar { }
    }
 }
 }

运行此示例时收到的错误消息:

  

QQmlApplicationEngine无法加载组件   qrc:/main.qml:38无法分配给不存在的属性" style"

我想我错过了一些依赖,但在文档中找不到任何指示我指向正确方向的内容。

1 个答案:

答案 0 :(得分:1)

发布@BaCaRoZzo的评论作为社区答案。


style属性在控件2中不可用。在控件中内联样式。参见here

您也可以删除导入QtQuick.Controls.Styles 1.4,因为有必要对未导入的控件1.x进行样式设置。