PyQt4 QComboBox信号与槽
有没有办法创建一个信号,当下拉框打开时,用户用键盘的上下箭头选择项目时会触发?到目前为止,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
看起来这个highlighted
信号就是你想要的。
你只需要利用传递过来的值:
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))