如何在PyQt4中的QListWidget中创建同步滚动条

时间:2018-06-11 09:44:28

标签: python pyqt pyqt4 qlistwidget

我有两个List Widget,我想让两个列表的滚动条同步。我是PyQt4的新手,所以我不知道该怎么做。

我的代码如下:

代码:

from PyQt4 import QtGui,QtCore
import sys


def window():
    app = QtGui.QApplication(sys.argv)
    win = QtGui.QWidget()
    main_horizontal = QtGui.QHBoxLayout()
    verti_1 = QtGui.QVBoxLayout()
    verti_2 = QtGui.QVBoxLayout()
    list1 = QtGui.QListWidget()
    for i in range(20):
        list1.addItem(str(i))

    list2 = QtGui.QListWidget()
    for i in range(20):
        list2.addItem("name" + str(i))

    verti_1.addWidget(list1)
    verti_2.addWidget(list2)

    main_horizontal.addLayout(verti_1)
    main_horizontal.addLayout(verti_2)
    win.setLayout(main_horizontal)
    win.resize(400,200)
    win.show()
    sys.exit(app.exec_())



if __name__ == "__main__":
    window()

输出: enter image description here

预期输出

我想让这两个滚动条同步

1 个答案:

答案 0 :(得分:3)

解决方案是将valueChanged的{​​{1}}信号连接到另一个verticalScrollBar()移动的插槽,但这可能会产生一个无限循环,所以为了避免它,你必须使用{ {1}}如下所示:

verticalScrollBar()