2015-11-08 159 views
1

我想寫一個「無限滾動」列表控件。滾動應該基於計時器自動發生。不會有任何用戶交互。例如,該列表包含項目0-100。如果滾動區域達到項目100,則顯示的下一個項目應爲項目1等等(如滾動文字符號)。無限滾動QListWidget

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

我如何在QListWidget的子類中實現這一點?還是最好不要使用QListWidget並寫我自己的類來做到這一點?

回答

1

你不需要子類。最簡單的實現就是清除並填充QListWidget,無論您填入列表中的任何小部件(可能是您的主窗口)。缺點是它可能在屏幕上顯得雜亂無章。

另一種選擇是一個QPlainTextEdit;使用setMaximumBlockCount()設置最大行數,然後在每個計時器刻度處調用appendPlainText()(或appendHtml))。當您達到最大行數時,舊線條將消失,因此它在正確的時間再次從0開始,它將看起來像是循環通過條目。

如果它必須是一個清單,嘗試與具有可變顯示您的輸入偏移和環繞代理(QAbstractProxyModel)一而QListView。