PyQt4 QComboBox 信号和槽

3
有没有一种方法可以在组合框打开并使用键盘上的上下箭头选择项目时创建一个断言信号。到目前为止,Qt4参考列表列出了仅在鼠标单击或按返回键后激活的信号。我尝试使用highlighted(int),但这仅适用于另一个鼠标单击,但是当我使用上/下箭头时,只检索到了点击的第一个项目。我认为当前突出显示的索引是通过self.ui.cb_dspBenchCmds.currentText()返回的索引。以下是代码片段:
class CmdRef(Qg.QMainWindow):
    def __init__(self,parent = None):
    ........
    Qc.QObject.connect(self.ui.cb_dspBenchCmds, Qc.SIGNAL("activated(int)"), self.chooseCmd)
    ........

    def chooseCmd(self):
        whichCmd = self.ui.cb_dspBenchCmds.currentText()
        cmdDescription = self.dictDspCmds[str(whichCmd)]
        self.ui.te_dspBenchOutput.setText(''.join(cmdDescription))

谢谢

dave

1个回答

2
< p > 高亮信号似乎是您想要的信号。< /p > < p > 您只需要利用传递的值:< /p >
class CmdRef(Qg.QMainWindow):
    def __init__(self, parent = None):
        ...
        self.ui.cb_dspBenchCmds.highlighted['QString'].connect(self.chooseCmd)
        ...

    def chooseCmd(self, whichCmd):
        cmdDescription = self.dictDspCmds[str(whichCmd)]
        self.ui.te_dspBenchOutput.setText(''.join(cmdDescription))

谢谢您的建议。它完全实现了我的需求。由于使用“新”样式时出现属性错误,我不得不使用旧的SIGNAL/SLOT语法来处理“highlighted”部分。 - Dave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接