我正在做一個繪圖表面的軟件,它代表一個繪圖(像一個sin函數)(QWidget的一個孩子),我希望QScrollBar的行爲像一個QScrollArea。因此,如果我的繪圖小部件顯示顯示750點(我的繪圖由點組成),但有1000個點,我希望ScrollBar的滑塊填滿可用空間的75%。QScrollBar的設置滑塊大小與內容對應
我無法使用QScrollArea,因爲滾動與包含的窗口小部件的大小成比例。在我的情況下,滾動必須與屏幕上的點數成比例。我知道如何得到我的比例,但我不知道如何正確設置QScrollBar
例如:我編輯了PageStep的值,但我不明白這是如何工作的。我可以將pageStep設置爲100,範圍爲[0,99],它將填充QScrollBar的一半。
我的界面:
QWidget (Vertical Layout) //Main Widget
Drawing Surface (Child of QWidget)
QScrollBar (Horizontal)
爲什麼你不能用'QScrollArea'目前還不清楚。 「滾動與它包含的小部件的大小成正比」 - 這是什麼意思?請舉一些例子,可能是圖片。 –
很抱歉,如果您不清楚,可以在此鏈接中看到(http://harmattan-dev.nokia.com/docs/library/html/qt4/widgets-imageviewer.html),如果您看到中間的圖片是顯示的圖片太多,只有80%。水平滾動條大小可以表示80%。但就我而言,比例不是來自圖片大小,而是來自我的軟件提供的其他價值。 – Nic007
只需創建一個包含全部1000個點的小部件,並將該小部件放入滾動區域即可。滾動條將被自動管理。或者有太多的點,你擔心效率,不是嗎? –