QML中ListView的高级使用之增加ScrollBar以及设置ScrollBar的样式

本文介绍了如何在QML的ListView中添加ScrollBar并自定义其样式。通过在ListView内部直接使用ScrollBar.vertical,并引入Qt.labs.controls 1.0,可以实现滚动条的颜色、宽度和高度的个性化设置。同时,文章还解决了在同一页面中引入不同控件库导致的冲突问题,提出了通过封装ListView来避免此类冲突的方法。
摘要由CSDN通过智能技术生成
用过QML进行列表显示的同仁肯定都知道,QML中的ListView是默认没有ScrollBar的,超出部分的列表项只能通过滚动鼠标滚轮进行显示,但是我们又知道QML中的ScrollView是有ScrollBar的,因此,我们可以通过在ScrollView中嵌入ListView并且重写ScrollView的style来实现列表的显示以及ScrollBar的显示(重写ScrollViewStyle费时费力且效果不佳,请看后面的挫图),这样也同样能够完成鼠标拖动ScrollBar滚动列表,其实现代码大致如下:
ScrollView{
	id:scroll_bar
    style:style:ScrollViewStyle{
		//...
	}
	ListView {
        id: list_view
		anchors.fill: parent
		clip: true
        orientation: ListView.Vertical
		snapMode: ListView.NoSnap
        model: root.model
		delegate: Rectangle {
			//...
		}
	}
}
但是,这样做的一个缺陷是ScrollView的ScrollBar是自带原生的,不能进行自定义显示的,比如想改变ScrollBar的宽度、高度、颜色等,在这种情况下是不能实现的。
其显示效果如下图:
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值