2011-01-30 1 views
0

QPlainTextEditベースのウィジェット用のユニットテストを作成しようとしています。そのため、偽のキーを送信する必要があります。QPlainTextEditに偽のReturnキーを押します。

私は正常にa-zキープレスを送信できますが、新しい行を送信しようとすると、keyPressEventハンドラはキープレスを受け取りません。

下のコードでは、最初のsendEventは問題なく動作していますが、2番目のイベントは正しく動作していません。どこに問題がありますか?

for char in "import django": 
    global_objects.app.sendEvent(editor, QtGui.QKeyEvent(QtCore.QEvent.KeyPress, ord(char), QtCore.Qt.NoModifier, char)) 
global_objects.app.sendEvent(editor, QtGui.QKeyEvent(QtCore.QEvent.KeyPress, QtCore.Qt.Key_Return, QtCore.Qt.NoModifier)) 

おかげで、 アンドリュー

答えて

0

について。おっとっと。

+0

あなたには恥ずかしい! :-P – Macke

0

global_objects.app.sendEvent(editor, 
    QtGui.QKeyEvent(QtCore.QEvent.KeyPress, QtCore.Qt.Key_Return, 
    QtCore.Qt.NoModifier, '\n')) 

仕事? (QtGui.QKeyEventへの余分な引数に注意してください)

+0

ありがとうございますが、違いはありません。 –

0

""パラメータに "戻る"を返すことは、このトリックを行うべきです。 Plsは、このラインはあなたのために働くだろうかどうかを確認:このことができます

QtCore.QCoreApplication.sendEvent(self.editor, 
            QtGui.QKeyEvent(QtCore.QEvent.KeyPress, QtCore.Qt.Key_Return, QtCore.Qt.NoModifier, 'Return'))   

希望を、この問題は私のコードで他のイベントをフィルタリング私によって引き起こされた

関連する問題