无限滚动QListWidget

时间:2015-11-08 03:49:01

标签: c++ qt scroll qlistwidget

我想写一个"无限滚动"列表小部件。滚动应该基于计时器自动发生。没有任何用户互动。该列表包含例如0-100的项目。如果滚动区域到达项目100,则显示的下一个项目应该是项目1,依此类推(如滚动文本标志)。

我希望你得到我想要的东西;)

如何在QListWidget的子类中实现它?或者最好不要使用QListWidget并编写我自己的类来执行此操作?

1 个答案:

答案 0 :(得分:1)

您不需要继承。最简单的实现只是从您填充列表的任何小部件中清除并填充QListWidget(可能是您的主窗口)。缺点是它在屏幕上看起来可能很乱。

另一种选择是QPlainTextEdit;使用setMaximumBlockCount()设置最大行数,然后在每个计时器标记处调用appendPlainText()(或appendHtml))。当你达到最大线数时,旧线会消失,所以你在正确的时间再次从0开始,看起来它会在条目中循环。

如果必须是列表,请尝试使用代理(QAbstractProxyModel)的QListView,该代理显示具有可变偏移量的条目并包裹。