Исходник Qt | Python Селектор активной и выделенной строки QTextEdit

Эксперт
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
1,469
Реакции[?]
679
Поинты[?]
39K
Python:
def SelectLine(self, TextEdit: QtWidgets.QTextEdit):
        #if (TextEdit.isReadOnly()): return
        ThisLine = TextEdit.textCursor().blockNumber()
        
        Cursor = QtGui.QTextCursor(TextEdit.document().findBlockByNumber(self.SelectedLineNumber))
        Foramt = QtGui.QTextBlockFormat()
        Foramt.setBackground(QtGui.QColor(45, 45, 45)) # Задний фон строки после сброса
        Cursor.setBlockFormat(Foramt)
        
        # Сбрасываем прошлую выделенную строку
        
        Cursor = QtGui.QTextCursor(TextEdit.document().findBlockByNumber(ThisLine))
        Foramt = QtGui.QTextBlockFormat()
        Foramt.setBackground(QtGui.QColor(50, 50, 50)) # Задний фон активной строки
        Cursor.setBlockFormat(Foramt)
        
        self.SelectedLineNumber = Cursor.blockNumber() # Записываем номер активной строки чтобы сбросить ее при выделении новой
        # Выделяем активную строку
1741079863653.png
Python:
Palette = self.Source.palette()
Palette.setColor(QtGui.QPalette.Highlight, QtGui.QColor(55, 55, 55)) # Цвет выделенной строки
self.Source.setPalette(Palette) # QTextEdit
1741079924758.png
 
Сверху Снизу