當需要添加新數據或用戶滾動到未緩存區域時,我需要顯示交互窗口小部件的無限滾動列表,並根據需要添加/刪除它們。GTK:窗口小部件的無限延遲列表
一個TreeView(as asked about here)是沒辦法,因爲我需要完整的小工具如項目(具有多個動作等標準部件組成,但的CellRenderer是不是這個)
更糟的是,我不知道我的小工具的高度提前(雖然沒有太大的變化),所以使用VBox可能會導致跳動。
使用滾動條應該仍然感覺好像列表是有限的(即只有在滾動完成後才更新,以便滾動按鈕不會從您的鼠標跳開),並且在調整窗口大小並更新窗口布局時,滾動位置不應該改變太多(焦點小部件應該保持在原來的位置,除非當然重點小部件滾動了......)。
這樣做的最好方法是什麼?也許即使是一個圖書館,只是發送信號時,需要添加一個新的小部件?
或者ListView被強制以不太惡劣的方式做到這一點? (即使用屏幕外緩衝區,使用CellRenderer將其複製到單元格中,將鼠標/鍵盤事件中繼到實際的窗口小部件?)
你所說的 「跳動」 是什麼意思? VBox有什麼問題? – lethalman 2012-01-28 09:26:21
如果用戶向上滾動,平均窗口小部件高度是200px(即,我有一些空白窗格的高度超出視野,我根據需要用實際窗口部件替換)但是我在頂部添加一個250px的窗口,所有內容都會顯示跳到50px。所以我猜VBox必須放在固定的位置,然後向上移動50px以防止這種情況發生,但是它不會再延伸到ScrollWindow的大小了... – pascal 2012-01-28 15:13:39
您可以嘗試手動滾動到當前窗口小部件。 – lethalman 2012-01-28 17:41:26