【问题标题】:infinite scrolling QListWidget无限滚动 QListWidget
【发布时间】:2015-11-08 03:49:01
【问题描述】:

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

希望你能得到我想要的;)

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

【问题讨论】:

    标签: c++ qt scroll qlistwidget


    【解决方案1】:

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

    另一个选项是 QPlainTextEdit;使用 setMaximumBlockCount() 设置最大行数,然后在每个计时器滴答时调用 appendPlainText()(或 appendHtml))。当您达到最大行数时,旧行将消失,因此您在正确的时间再次从 0 开始,它看起来就像是在循环遍历条目。

    如果它必须是一个列表,请尝试使用代理 (QAbstractProxyModel) 的 QListView,它会显示带有可变偏移量并环绕的条目。

    【讨论】:

      猜你喜欢
      • 2020-10-16
      • 2013-04-20
      • 1970-01-01
      • 2012-09-25
      • 2019-04-02
      • 2013-03-09
      • 2017-06-24
      • 2012-10-03
      • 2020-12-05
      相关资源
      最近更新 更多