1

PyQt でテキスト エディターを作成しており、QTextEdit で選択した領域をインデントするボタンが必要です。

私はこのシグナルスロット関数にたどり着きました:

    def Indent(self):
        tab = "    "

        cursor = QtGui.QTextCursor()

        start = cursor.selectionStart()
        end = cursor.selectionEnd()

        cursor.setPosition(end)
        cursor.movePosition(cursor.EndOfLine)
        end = cursor.position()

        cursor.setPosition(start)
        cursor.movePosition(cursor.StartOfLine)
        start = cursor.position()

        while cursor.position() < end and cursor.movePosition(cursor.Down):
            cursor.movePosition(cursor.StartOfLine)
            cursor.insertText(tab)
            end += tab.count()
            cursor.movePosition(cursor.EndOfLine)

しかし、ボタンを押しても何も起こりません。これらの QTextCursor アクションを QTextEdit に接続することについて何かが足りないか、これはそれを行う方法ではありません。

選択した領域を最適にインデントする方法を知っている人はいますか? どうもありがとう。

4

1 に答える 1