0

我在使用 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 无法分配给不存在的属性“样式”

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

4

1 回答 1

2

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


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

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

于 2019-08-29T13:07:43.597 回答