QTableView自动滚动到最底部,实现类似QTextBrowser的滚动效果

原创文章

QTableView自动滚动到最底部,实现类似QTextBrowser的滚动效果


前言

学习QT一段时间了,在优快云里学到很多,也该做点贡献。


提示:原创文章,转载请注明本地址

一、实现效果

qt控件,带有ScrollView的添加条目后如何自动滚动到最底部。类似QTextBrowser添加新条目后,自动滚动到最底部的效果(在最底部时自动滚动,翻到上面就不滚动了)。网上找了很久没找到具体的实现代码。试了很多方法效果都不好,突然灵光一现想到了实现的代码,简洁且高效,特贴出来,拿去用吧:)

二、直接上代码

1.代码

示例如下(原创,如要转载请注明):

# 初始化TableView
	def initTableView():
		self.Table = QTableView()
		# 禁用编辑
        self.Table.setEditTriggers(QAbstractItemView.NoEditTriggers)
        # 禁用Tab键导航
        self.Table.setTabKeyNavigation(False)
        # 去除选中虚线框
        self.Table.setFocusPolicy(Qt.NoFocus)
        # 设置表格参考线是否可见
        self.Table.setShowGrid(False)
        # 设置是否启用滚动条
        self.Table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)  # 禁用水平滚动条
        self.Table.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)  # 启用垂直滚动条
        
        # 前面一通设置无关紧要,后面这里是关键,定义垂直滚动条用来设置自动滚动
        self.TableScrollBar = self.Table.verticalScrollBar()   

# 当增加新条目后
	def appendNewData():
		#.......
			#append
		#.......
		# 这里设置自动滚动,每增加一个新条目就自动滚动到最后。就这么简单 :)
        if self.TableScrollBar.value() >= self.TableScrollBar.maximum():
            self.Table.scrollToBottom()

总结

没啥总结的,多看多练,有些效果网上没有现成的,自己多想想就能实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值