加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将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.单击某个项目时,该项目以及项目的文本将打印到控制台.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读