2011-07-06 5 views

답변

2

문제는 창에서 커서의 위치입니다. 기본적으로

- 일부 flagsfind() 함수에 전달되는 지정하지 않는 한, 검색 만 (커서의 위치 이후부터 =) 앞으로 발생합니다. 테스트 작업을하기 위해

, 당신은 같이해야합니다 :

  1. 프로그램을 실행합니다.
  2. 창으로 이동하여 BA
  3. 는 라인의 시작 부분으로 커서를 이동
  4. 입력
  5. C을 사이에 커서를 C

당신이 창에서 문자열 CBA있을 것이다이 방법 유형, B이고 find() 메서드가 작동하는 문자열은 True이고 BA이됩니다.

또는 다른 플래그가 설정된 다른 버전의 코드를 테스트 할 수 있습니다.

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import sys 
from PyQt4.QtCore import QObject, SIGNAL 
from PyQt4.QtGui import QApplication, QTextEdit, QTextDocument 

app = QApplication(sys.argv) 

def findText(): 
    flag = QTextDocument.FindBackward 
    print(textEdit.toPlainText(), textEdit.find('A', flag)) 

textEdit = QTextEdit() 
textEdit.show() 
QObject.connect(textEdit, SIGNAL('textChanged()'), findText) 
sys.exit(app.exec_())