from PyQt6 import QtWidgets, QtGui
import sys


# ----
class CustomEdit(QtWidgets.QPlainTextEdit):
    def __init__(self):
        super().__init__()

        self.setCursorWidth(0)

    def paintEvent(self, event):
        super().paintEvent(event)

        # Eventually paint cursor manually ...
#       painter = QtGui.QPainter(self.viewport())
#       ...
#       painter.end()


# ----
if __name__ == "__main__":

    app = QtWidgets.QApplication(sys.argv)
    editor = CustomEdit()
    editor.show()

    sys.exit(app.exec())
