Qt QML滚动视图样式宽度?
我想使ScrollView的滚动条比默认值更宽,但我看不到任何Qt QML滚动视图样式宽度?,qt,scroll,qml,scrollview,Qt,Scroll,Qml,Scrollview,我想使ScrollView的滚动条比默认值更宽,但我看不到任何width属性,即使是ScrollViewStyle元素的frame组件的一部分。要使滚动条更宽,您可以使用自定义组件在ScrollViewStyle中更改以下四个属性:handle、scrollBarBackground、decrementControl和incrementControl(如果不全部更改,可能会显得很奇怪)。比如说, ScrollView { style: ScrollViewStyle {
width
属性,即使是ScrollViewStyle
元素的frame
组件的一部分。要使滚动条更宽,您可以使用自定义组件在ScrollViewStyle
中更改以下四个属性:handle
、scrollBarBackground
、decrementControl
和incrementControl
(如果不全部更改,可能会显得很奇怪)。比如说,
ScrollView {
style: ScrollViewStyle {
handle: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "red"
}
scrollBarBackground: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "black"
}
decrementControl: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "green"
}
incrementControl: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "blue"
}
}
//...
}
看起来是这样的:
要使滚动条更宽,您可以使用自定义组件更改
滚动视图样式
中的以下四个属性:句柄
、滚动背景
、递减控件
和递增控件
(如果不全部更改,可能看起来很奇怪)。比如说,
ScrollView {
style: ScrollViewStyle {
handle: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "red"
}
scrollBarBackground: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "black"
}
decrementControl: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "green"
}
incrementControl: Rectangle {
implicitWidth: 50
implicitHeight: 30
color: "blue"
}
}
//...
}
看起来是这样的:
…意味着我需要重新实现滚动条的整个外观?是否有某种方法可以只使用默认的带箭头的灰对灰方案,或者有一种简单的方法来重新实现它?此外,这似乎会导致一些“
TextArea.qml::无法将[undefined]分配给
”错误,并且我的屏幕以一种奇怪的方式闪烁。我怎样才能知道一个最小的完整工作ScrollViewStyle
实际上包括哪些内容?……实际上,这不起作用的原因可能是因为我没有直接使用ScrollView
,我使用的是继承自ScrollView
的TextArea
。虽然是TextArea
中唯一的style
成员,但我仍然不确定为什么不能将ScrollViewStyle
分配给TextView
的style
属性。不幸的是,您必须重新实现整个外观,因为QtQuick control样式不提供任何方法来替代默认组件中的某些特性(例如宽度)。对于TextArea
样式,请尝试,它继承了ScrollViewStyle
。非常感谢!将ScrollViewStyle
更改为TextAreaStyle
效果很好,甚至没有定义任何额外的属性……这意味着我需要重新实现滚动条的整个外观?是否有某种方法可以只使用默认的带箭头的灰对灰方案,或者有一种简单的方法来重新实现它?此外,这似乎会导致一些“TextArea.qml::无法将[undefined]分配给
”错误,并且我的屏幕以一种奇怪的方式闪烁。我怎样才能知道一个最小的完整工作ScrollViewStyle
实际上包括哪些内容?……实际上,这不起作用的原因可能是因为我没有直接使用ScrollView
,我使用的是继承自ScrollView
的TextArea
。虽然是TextArea
中唯一的style
成员,但我仍然不确定为什么不能将ScrollViewStyle
分配给TextView
的style
属性。不幸的是,您必须重新实现整个外观,因为QtQuick control样式不提供任何方法来替代默认组件中的某些特性(例如宽度)。对于TextArea
样式,请尝试,它继承了ScrollViewStyle
。非常感谢!将ScrollViewStyle
更改为TextAreaStyle
效果很好,甚至不需要定义任何额外的属性。