OK here is an example code of how could you do what you want, it's very basic but you can get the idea within the functions f
and g
, hope it works:
import PyQt4.QtGui as gui
app = gui.QApplication([])
w = gui.QWidget()
l = gui.QHBoxLayout(w)
w.setLayout(l)
lis1 = gui.QListWidget()
lis2 = gui.QListWidget()
lis1.addItems(["1","2","3"])
lis2.addItems(["4","5","6"])
def f():
lis2.itemSelectionChanged.disconnect(g)
for item in lis2.selectedItems():
lis2.setItemSelected(item,False)
lis2.itemSelectionChanged.connect(g)
def g():
lis1.itemSelectionChanged.disconnect(f)
for item in lis1.selectedItems():
lis1.setItemSelected(item,False)
lis1.itemSelectionChanged.connect(f)
print dir(lis1.itemSelectionChanged)
lis1.itemSelectionChanged.connect(f)
lis2.itemSelectionChanged.connect(g)
l.addWidget(lis1)
l.addWidget(lis2)
w.show()
app.exec_()