原创文章
前言
学习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()
总结
没啥总结的,多看多练,有些效果网上没有现成的,自己多想想就能实现。