2
我有不同類型的QWidgets的成DockWindow:同時滾動不同的窗口小部件
- 1 QWT情節
- 1 QWidget的
- 3的QGraphicsView
我需要滾動所有當我放大時,它們同時具有相同的滾動條。我知道兩種解決方案:
- 創建一個滾動條並將其連接到每個控件。
- 創建一個scrollArea並操作所有小部件。
什麼是最好的解決方案呢?你知道任何scrollArea教程嗎?
謝謝你這麼多
我有不同類型的QWidgets的成DockWindow:同時滾動不同的窗口小部件
我需要滾動所有當我放大時,它們同時具有相同的滾動條。我知道兩種解決方案:
什麼是最好的解決方案呢?你知道任何scrollArea教程嗎?
謝謝你這麼多
我會盡量做到讓每個需要在演唱會滾動的物品是自己的QScrollArea
內。然後,我會將所有這些小部件放入一個小部件中,並在底部(和/或側面,如果需要的話)使用QScrollBar
。
指定其中一個內部滾動小部件作爲「主」,可能是小部件。然後執行以下操作:
QScrollArea
的水平滾動條策略設置爲永不顯示滾動條。QScrollArea
的horizontalScrollBar()
的rangeChanged(int min, int max)
發信號給一個插槽,該插槽將主控件的水平線QScrollBar
設置爲相同的範圍。另外,它應該爲其他滾動區域控件的水平滾動條設置相同的範圍。QScrollBar
的valueChanged(int value)
信號應該連接到每個滾動區域小部件的水平滾動條的setValue(int value)
插槽。有一個地方,我認爲這可能會出錯,那是鼠標滾輪滾動。你可以通過幾種方法解決這個問題。一種方法是將所有滾動區域連接到一個插槽,該插槽在其值發生更改時觸發,這會更新所有其他滾動條。另一種方法是在這些小部件上安裝事件過濾器,並忽略滾動或使用主滾動條處理它。
非常感謝你cjhuitt。 – Drewen 2009-12-31 03:03:47