QListWidget如何获得发出的信号?

问题描述 投票:0回答:1
    with open('championships.txt', 'r') as rf:
        lines = rf.readlines()
        for line in lines:
            champioshiplist.addItem(QListWidgetItem(line.strip()))

    champioshiplist.doubleClicked.connect(self.listclisc)

def listclisc(self):
    print('OK')

我从一个txt文件中填充了Qwidgetlist,但我无法从列表中获得点击的值,在例子中,打印工作正常,但我如何获得列表的文本?我无法保存被点击的项目,我想做的是

    def listclisc(self):
      text = championshiplist.... value 

但该函数没有看到Qwidgetlist。 我是Python的新手,并不真正理解如何做

python pyqt
1个回答
2
投票

doubleClicked信号会发送相关的QModelIndex,该QModelIndex有你需要的信息。

def listclisc(self, index):
    print('OK', index.data())

同样你也可以使用 itemDoubleClicked 信号。

    champioshiplist.itemDoubleClicked.connect(self.listclisc)

def listclisc(self, item):
    print('OK', item.text())
© www.soinside.com 2019 - 2024. All rights reserved.