0

ドットを追加するなど、QTextCursor の選択可能な文字を変更するにはどうすればよいですか? たとえば、QPlainTextEdit スタンザに「MyClass」と入力すると、

tc = self.textCursor()
tc.select(QtGui.QTextCursor.WordUnderCursor)
return tc.selectedText()

は「MyClass」を返しますが、「MyClass」と入力します。空の Qstring を返します! 問題は続きます。「MyClass.myMeth」と入力すると「myMeth」が返されますが、「MyClass.myMeth」が必要です:/ありがとう

4

1 に答える 1

1

OK、WordUnderCursor への呼び出しを次のように置き換えることで解決策を見つけました。

def textUnderCursor(self):
        tc = self.textCursor()
        isStartOfWord = False
        if tc.atStart() or (tc.positionInBlock() == 0):
            isStartOfWord = True
        while not isStartOfWord:
            tc.movePosition(QtGui.QTextCursor.PreviousCharacter, QtGui.QTextCursor.KeepAnchor)
            if tc.atStart() or (tc.positionInBlock() == 0):
                isStartOfWord = True
            elif QtCore.QChar(tc.selectedText()[0]).isSpace():
                isStartOfWord = True
        return tc.selectedText().trimmed()
于 2015-05-24T06:45:26.777 に答える