我有一个QML TextArea
我想要更宽的滚动条。 TextArea
继承自ScrollView
,style
类中唯一的TextArea
成员似乎是inherited from ScrollView
,所以我想我可以分配ScrollViewStyle
1}}到TextView
' style
成员。
然而,将this suggested ScrollViewStyle
example分配给我的TextArea
style
成员会触发错误消息并使屏幕奇怪地闪烁。
以下是错误消息:
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:766:32: Unable to assign [undefined] to QColor
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:765:29: Unable to assign [undefined] to QColor
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:764:20: Unable to assign [undefined] to QColor
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:763:19: Unable to assign [undefined] to QFont
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:762:25: Unable to assign [undefined] to int
file:///<qtpath>/Qt/5.5.1/5.5/gcc_64/qml/QtQuick/Controls/TextArea.qml:725:24: Unable to assign [undefined] to QColor
发生了什么?如何正确地为ScrollViewStyle
分配TextArea
(假设这确实是问题)? (例如,我能否以某种方式明确界定style
作业的范围?ScrollView.style: ScrollViewStyle { ...
会给出错误&#34; Non-existent attached object
。&#34;)或者,有没有更简单的方法可以让滚动条更宽而不会陷入这种混乱?
我在Debian 7 Wheezy上使用64位Qt 5.5.1。
答案 0 :(得分:2)
ScrollViewStyle
不应该分配给非style
类的ScrollView
成员,即使它继承自ScrollView
。 QML组件继承层次结构由样式继承层次结构镜像,因此(正如评论中BaCaRoZzo所指出的)style
的{{1}}成员实际上是{{} 1}} - 继承自TextArea
。
因此解决方案只是定义TextAreaStyle
,但只设置与ScrollViewStyle
相关的属性。在链接示例中将单词TextAreaStyle
更改为ScrollViewStyle
就足以实现此目的。