3

コンボ ボックスが開かれ、ユーザーがキーボードの上下矢印を使用して項目を選択したときにアサートされる信号を作成する方法はありますか。これまでのところ、Qt4 リファレンスには、マウス クリックまたはリターン キーのヒット後にのみアクティブになるシグナルがリストされています。私は Highlight(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))

ありがとう

デイブ

4

1 に答える 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))
于 2011-12-02T00:27:02.120 に答える