<p>将<code>itemSelectionChanged()</code>信号从一个<code>QListWidget</code>连接到另一个<code>clearSelection</code>插槽。你知道吗</p>
<p>使用QtDesigner生成的示例:</p>
<pre><code># -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(214, 158)
self.gridLayout = QtGui.QGridLayout(Form)
self.gridLayout.setObjectName("gridLayout")
self.listWidget = QtGui.QListWidget(Form)
self.listWidget.setObjectName("listWidget")
item = QtGui.QListWidgetItem()
item.setText("T01")
self.listWidget.addItem(item)
item = QtGui.QListWidgetItem()
item.setText("T02")
self.listWidget.addItem(item)
item = QtGui.QListWidgetItem()
item.setText("T03")
self.listWidget.addItem(item)
self.gridLayout.addWidget(self.listWidget, 0, 0, 1, 1)
self.listWidget_2 = QtGui.QListWidget(Form)
self.listWidget_2.setObjectName("listWidget_2")
item = QtGui.QListWidgetItem()
item.setText("P01")
self.listWidget_2.addItem(item)
item = QtGui.QListWidgetItem()
item.setText("P02")
self.listWidget_2.addItem(item)
item = QtGui.QListWidgetItem()
item.setText("P03")
self.listWidget_2.addItem(item)
self.gridLayout.addWidget(self.listWidget_2, 0, 1, 1, 1)
# This are the important lines.
QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemSelectionChanged()"), self.listWidget_2.clearSelection)
QtCore.QObject.connect(self.listWidget_2, QtCore.SIGNAL("itemSelectionChanged()"), self.listWidget.clearSelection)
QtCore.QMetaObject.connectSlotsByName(Form)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
</code></pre>