如何将listWidget中的选定项作为参数发送到另一个函数
发布时间:2020-12-20 12:19:33 所属栏目:Python 来源:网络整理
导读:每当我单击列表小部件中的任何函数时,它都会运行特定的函数.现在我想将项目本身作为该函数的参数发送.这是代码: QtCore.QObject.connect(self.listWidget,QtCore.SIGNAL("itemClicked(QListWidgetItem *)"),self.test)def test(self): print 'hello' 相反,
每当我单击列表小部件中的任何函数时,它都会运行特定的函数.现在我想将项目本身作为该函数的参数发送.这是代码:
QtCore.QObject.connect(self.listWidget,QtCore.SIGNAL("itemClicked(QListWidgetItem *)"),self.test) def test(self): print 'hello' 相反,我想: def test(self,item): print item 解决方法
这应该已经有效 – 当发出itemClicked时,它会将点击的QListWidgetItem作为参数发送.您只需要编辑测试函数以接受额外的参数,这将是您的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_()) 在上面的例子中,您将看到一个包含三个项目的QListWidget.单击某个项目时,该项目以及项目的文本将打印到控制台. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |