2012-01-18 10 views
0

私はQComboBoxとQGraphicsSceneで構成されたUIを構築し、それはQGraphicsItemsです。PyQt4:QComboBoxのcurrentIndexChangedシグナルを傍受できますか?

QComboBoxのインデックスを変更すると、QGraphicsSceneをリフレッシュしてデフォルトに設定します。それを解決するために、ジオメトリ情報をノードに格納します。それはうまくいく。

QGraphicsItemsが変更され、ジオ情報が保存されていないことを確認したいと思います。したがって、ユーザーにUIを通知する必要があります。

私は、QComboBoxを変更したときにそれが起こり、そのためにcurrentIndexChanged信号を傍受する必要があります。これは、QComboBoxが実際にインデックスを変更する前に、フラグを読み込んでユーザーに何かを行い、地理情報を欠場しないことを意味します。QComboBoxは以前のインデックスに戻ります。

答えて

1

ご質問は少し難解です。

現在のインデックスが変更される前のインデックスを知りたいですか?その場合は、以前のインデックスの記録を保持してください:

def __init__(self): 
    self._previous_index = -1 

def handleCurrentIndexChanged(self, index): 
    # do stuff with previous_index (if valid) 
    ... 
    self._previous_index = index 
+0

はい、私は "以前のインデックス"を試しました。しかし、 "currentIndexChanged"は、インデックスが変更された後に放出します。だから、前のインデックスに戻るということは、 "currentIndexChanged"シグナルをもう一度呼び出すことを意味し、ループのようです。私はそれが洗練されていないと思う:) –

+0

@ヒョングンキム。あなたが望むものを理解するのは難しいです。いくつかのコード例を表示できますか? – ekhumoro

+0

ありがとうエコモロ!私はちょうどあなたが提案したスクリプトを書いた。以前のインデックスに戻るために別のフラグが必要です –

関連する問題