标题:可能上次没说清楚,再描述下问题,关于textarea 滚动条悬停设置
作者:t62858216
日期:2017-11-27 09:35
内容:
在textarea中,右边的滚动条,我想实现实现靠近右边界区域显示滚动条并悬停,
transientScrollBars : bool //这个只是实现的滚动显示滚动条,求老手指导下。
#1 [小韩老师 11-27 19:06]
去你安装目录找到,比如Qt5.9的C:\Qt\Qt5.9.0\5.9\Src\qtquickcontrols\src\controls\Styles\Base\ScrollViewStyle.qml
这个就是ScrollViewStyle的qml实现方式,
里边有滑动条 property Component handle: Item {.../}
以及背景 property Component scrollBarBackground: Item {}
一堆内容你稍微修改一下就可以实现你需要的方式,比如说那个当停靠时就透明度就是0,移开时透明度就是1
实现方式各种各样。之后就将ScrollViewStyle的两个属性替换就一下可以了。
#2 回 小韩老师 的帖子 [t62858216 11-28 09:24]
小韩老师:
去你安装目录找到,比如Qt5.9的C:\Qt\Qt5.9.0\5.9\Src\qtquickcontrols\src\controls\Styles\Base\ScrollViewStyle.qml
这个就是ScrollViewStyle的qml实现方式,
里边有滑动条 property Component handle: Item {.../}
以及背景 property Component scrollBarBackground: Item {}
一堆内容你稍微修改一下就可以实现你需要的方式,比如说那个当停靠时就透明度就是0,移开时透明度就是1
.......
感谢大神的回复,我前面也看了下文档,不知道哪有属性可以设置靠近改变透明度,新手请见谅
property Component scrollBarBackground: Item {
property bool sticky: false
property bool hovered: styleData.hovered
implicitWidth: Math.round(TextSingleton.implicitHeight)
implicitHeight: Math.round(TextSingleton.implicitHeight)
clip: true
opacity: transientScrollBars ? 0.5 : 1.0
visible: !Settings.hasTouchScreen && (!transientScrollBars || sticky)
Rectangle {
&nb ..
#3 [小韩老师 11-28 14:45]
需要自己有探索精神,当然没有你说的设置一个属性就可以满足你的需要了,你需要根据自己的需要去定制一些东西。方法很多,里边有个显示的visible,你可以通过一些附加的操作或者外部控件,根据需要设置为true或者false
#4 回 小韩老师 的帖子 [t62858216 11-28 17:20]
小韩老师:需要自己有探索精神,当然没有你说的设置一个属性就可以满足你的需要了,你需要根据自己的需要去定制一些东西。方法很多,里边有个显示的visible,你可以通过一些附加的操作或者外部控件,根据需要设置为true或者false (2017-11-28 14:45)
谢谢你的回复 ,大致试了下,设置透明度是可以达到悬停消失,但是滚动时候不知道怎么恢复透明度并且过一段时间消失,困惑了我两天了
#5 [小韩老师 11-28 20:47]
选择制作一个control2程序
设计代码
import QtQuick 2.7
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ScrollView {
id: view
anchors.fill: parent
TextArea {
text: "TextArea\n...\n...\n...\n...\n...\n...\n"
}
}
}
运行程序
不管是悬靠或者滑动都能显示滚动条,这个就是普通手机程序的设计模式,应该和你需要的一致,去学习一下就可以实现你要的功能。