2013-03-01 4 views
1

Qscintilla 창에서 문자열의 위치를 ​​검색하려고합니다.Qscintilla/PyQt4에서 SCI_SEARCHINTARGET 사용

import sys 
from PyQt4 import QtGui, Qsci 

app = QtGui.QApplication(sys.argv) 
window = Qsci.QsciScintilla() 
window.show() 

# Search in target for string 
text = "Hello world" 
window.setText(text) 
messenger = window.SendScintilla 
messenger(window.SCI_SETTARGETSTART, 0) 
messenger(window.SCI_SETTARGETEND, len(text)) 
pos = messenger(window.SCI_SEARCHINTARGET, len(text), "world") 
print(pos); 

app.exec_() 

그것은 현재 문자열 "Hello world"을 들고 텍스트 편집기 창에서 문자열 "world" 검색 :

여기 (실행 가능한) 모의 코드의 조각입니다. 그러나 문자열이 텍스트 편집기 창에 명확하게 존재하는 경우 검색은 -1 (문자열을 찾지 못했습니다)을 반환합니다.

무엇이 문제일까요?

+0

도움이 될 수 있습니다. http://qscintilla.com/ –

답변

3

http://www.scintilla.org/ScintillaDoc.html#SCI_SEARCHINTARGET 다음을 참조하십시오 length 매개 변수가없는 당신이 검색하는 텍스트, 검색하려는 텍스트의 길이

이 당신이 원하는 무엇을 얻을 것이다.

pos = messenger(window.SCI_SEARCHINTARGET, len("world"), "world") 
+0

감사합니다! 나는 그것에 데리러하지 않았다! – Gilead