每当我单击列表小部件中的任何函数时,它都会运行特定的函数.现在我想将项目本身作为该函数的参数发送.这是代码:
QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), self.test)
def test(self):
print 'hello'
Run Code Online (Sandbox Code Playgroud)
相反,我想:
def test(self,item):
print item
Run Code Online (Sandbox Code Playgroud)
Gar*_*hes 12
这应该已经有效 - 当itemClicked
它被发射时它会将被点击QListWidgetItem
的参数作为参数发送.您只需要编辑您的test
函数以接受额外的参数,这将是您的QListWidgetItem
.
from PyQt4.QtCore import QCoreApplication, Qt
from PyQt4.QtGui import QListWidget, QListWidgetItem, QApplication
import sys
class MyList(QListWidget):
def __init__(self):
QListWidget.__init__(self)
self.add_items()
self.itemClicked.connect(self.item_click)
def add_items(self):
for item_text in ['item1', 'item2', 'item3']:
item = QListWidgetItem(item_text)
self.addItem(item)
def item_click(self, item):
print item, str(item.text())
if __name__ == '__main__':
app = QApplication([])
myList = MyList()
myList.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,您将看到一个包含三个项目的QListWidget.单击某个项目时,该项目以及项目的文本将打印到控制台.
归档时间: |
|
查看次数: |
14053 次 |
最近记录: |