[PyQt] Synchronized scrolling between two tables
    Nader Abedrabbo 
    aenader1 at yahoo.com
       
    Wed Nov  2 15:50:34 GMT 2011
    
    
  
Thanks Guys, 
I found the solution to my problem. 
By linking to the tables scroll bar via (QScrollBar) I now have access to
the bar.  Then using the signals emitted by the slider via (QAbstractSlider)
I can get the current location of the bar and then sync the other table with
it. 
Here is a short example (right table syncs with left, I just need to add
another signal for left table to synch with right).
#########################################
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
import time
 
class MyWindow(QWidget):
    def __init__(self, *args):
        QWidget.__init__(self, *args)
       
        self.tableWidget1 = QTableWidget()
        self.tableWidget2 = QTableWidget()
        numRows = 40
        numCols = 2
        self.tableWidget1.setRowCount(numRows)
        self.tableWidget1.setColumnCount(numCols)
        self.tableWidget2.setRowCount(numRows)
        self.tableWidget2.setColumnCount(numCols)
       
        layout = QHBoxLayout(self)
        layout.addWidget(self.tableWidget1)
        layout.addWidget(self.tableWidget2)
        self.setLayout(layout)
        self.sliderBar1 = self.tableWidget1.verticalScrollBar()
        self.sliderBar2 = self.tableWidget2.verticalScrollBar()
        QObject.connect(self.sliderBar1, 
                               SIGNAL("actionTriggered(int)"),
self.SyncScroll)
       
    def SyncScroll(self):
        sliderValue = self.sliderBar1.value()
        self.sliderBar2.setValue(sliderValue)
def main():
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())
if __name__ == "__main__":
    main() 
#########################################
Nader Abedrabbo wrote:
> 
> Greetings, 
> 
> I have a program where two tables are shows next to each other.   One
> program is used to get user data, while the second table is used to show
> the results of the data after certain calculations are performed on the
> original data (via a calculate button).  The list of data in the tables
> can be in the hundreds. I added buttons to scroll to the bottom and top of
> the table.  
> 
> What I would like though is a synchronized scrolling of the two tables,
> i.e. if I scroll the first table, then the second table should scroll to
> the same view (same row level) as the first table. 
> 
> Is that possible? 
> 
> Thanks, 
> Nader
> 
> 
-- 
View this message in context: http://old.nabble.com/Synchronized-scrolling-between-two-tables-tp32761709p32766669.html
Sent from the PyQt mailing list archive at Nabble.com.
    
    
More information about the PyQt
mailing list