0
我有一個巨大的小部件(80,000像素長,也許800像素,每個像素爲100像素),因爲它展示了許多較小的小部件。我已經把這個巨大的小部件放入QScrollArea中。但滾動區域仍呈現整個小部件。這會導致小部件的操縱波濤洶涌,我希望事情變得更加流暢。如何限制QScrollArea完成的渲染?
相反,我希望QScrollAea足夠聰明,只渲染我知道的元素將會顯示。 (元素是有序的,都是相同的固定大小,所以這個計算應該很快)
什麼是最好的方法去做到這一點? QScrollArea是否應該這樣做?
QListView是否已經實現了這個功能? (但我希望我自己的自定義小部件在那裏有按鈕與用戶交互,QListWiget不會削減它。)
所以這些都是我用按鈕和CSS顯示的QWidgets。我想重複使用我的代碼。但這看起來非常有希望。 – Sandro
您可以嘗試設置剪裁矩形和最小尺寸。也許sizer提示沒有被正確更新,並且整個視圖正在被重新渲染(我認爲QScrollArea默認情況下也會進行一些智能渲染,但是它依賴於sizer)。我建議看看你的按鈕是否也很慢。 CSS渲染可能是你的瓶頸。 – Chrismit
那麼究竟是什麼「sizer」暗示?你的意思是最小/最大尺寸?所以當我在水平拖動時,所有東西都會被重新渲染。這些建議是否使用QGraphicsView或QScrollArea? – Sandro