如何在listWidget发送所选择的项目给另一个函数作为参数

每当我单击列表中的小部件的功能,它跑了特定的功能。 现在我想发送的项目本身,作为参数传递给该函数。 下面是代码:

QtCore.QObject.connect(self.listWidget, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), self.test) def test(self): print 'hello'

相反,我想:

def test(self,item): print item

--------------解决方案-------------

应该已经工作-当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_())

在上面的例子中,你会看到一个与QListWidget三个项目。 当您单击某个项目与项目的文本一起该项目将被打印到控制台。

分类:蟒蛇 时间:2012-08-24 人气:0
本文关键词: 蟒蛇,QT4,PyQt4中
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.584 (s). 9 q(s)