2014-09-21 119 views
1

新數據到達時滾動的方向如何?我想跟新的數據一起下來,但滾動保存在同一個地方。如何自動降低滾動?pyside - 在qscrollarea中自動向下滾動

我試着使用:

maximumY = self.scroll.verticalScrollBar().maximum() 
self.scroll.verticalScrollBar().setValue(maximumY) 

但是,不行

解決

self.scroll.verticalScrollBar().rangeChanged.connect(self.ResizeScroll) 
def ResizeScroll(self, min, maxi): 
    self.scroll.verticalScrollBar().setValue(maxi) 
+0

究竟怎樣新的數據到達? – mdurant 2014-09-21 22:02:51

+0

來自mysql的數據。我實現它們QVBoxLayout,後來一個QGroupBox,然後使self.scroll.setWidget(QGroupBox) – user3720124 2014-09-21 22:16:12

+0

你試過連接滾動條的rangeChanged(min,max)Bsignal?還要注意,由於滾動條總是強制其值處於合法範圍內,因此應始終能夠將其設置爲非常大的值並獲得正確的結果。 – mdurant 2014-09-21 22:32:04

回答

0

這應該是一個簡潔的方式來獲得所期望的行爲 - 請檢查。

bar = self.scroll.verticalScrollBar() 
bar.rangeChanged.connect(lambda x,y: bar.setValue(y)) 

bar.rangeChanged.connect(lambda x,y: bar.setValue(9999))