나는 QTextBrowser
을 가지고 있으며 텍스트의 일부를 선택하면 선택 영역의 시작과 끝 위치가 필요합니다. 나는 mousePressEvent
과 mouseReleaseEvent
으로 작동하지만 작동하지만 강조 표시 선택 (진한 파란색)이 나타나지 않습니다. 왜? 그래서 내가 선택한 것을 볼 수 없다.QTextBrowser에서 텍스트 선택
신호가 selectionChanged
인데 신호를 보낼 때마다 신호를 보내고 마우스를 놓을 때가 아니라 선택을 마칠 때마다 문제가 발생합니다.
의견이 있으십니까?
감사합니다.
편집 :
class MyBrowser(QTextBrowser):
def __init__(self, parent=None, textableAnnotate=None):
super(MyBrowser, self).__init__(parent)
self.textableAnnotate = textableAnnotate
self.mousePress = 0
self.mouseRelease = 0
def mousePressEvent(self, mouseEvent):
self.mousePress = self.cursorForPosition(mouseEvent.pos()).position()
def mouseReleaseEvent(self, mouseEvent):
self.mouseRelease = self.cursorForPosition(mouseEvent.pos()).position()
내가 클릭의 위치를 필요
이 내가 원하는처럼 작동합니다. 여기 : self.mousePress 및 self.mouseRelease. 그러나 QTextBrowser에서 텍스트를 선택하면 강조 표시되지 않습니다.
또는이 : 당신이 정상적인 동작을 변경했기 때문에
self.browserInput.selectionChanged.connect(self.position)
def position(self):
start = self.browserInput.textCursor().selectionStart()
end = self.browserInput.textCursor().selectionEnd()
어떤 의미에서 화면 좌표, 텍스트 인덱스 또는 다른 것을 사용해야합니까? 당신이하려고하는 것을 보여주는 최소한의 코드를 게시해야합니다. – mdurant
아무도 모릅니다. – Malain