Definir o cursor do ponteiro do mouse no QTextEdit

Aug 22 2020

Visando a cursor: pointer;opção Qt StyleSheet, mas em PyQt5; como você pode ver executando o código abaixo, o cursor muda, mas apenas na borda do QTextEdit, não na área de texto. Eu preciso que também mude na área de texto.

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QTextEdit

class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.myLayout = QHBoxLayout()
        self.status = QTextEdit()
        self.status.setStyleSheet("QTextEdit {min-width:500px;min-height:200px;border:15px solid green;}")
        self.status.setCursor(Qt.WaitCursor)
        self.status.setPlainText("test")

        self.myLayout.addWidget(self.status)
        self.setLayout(self.myLayout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mw = MainWindow()
    mw.show()
    sys.exit(app.exec_())

Respostas

2 eyllanesc Aug 22 2020 at 22:03

Isso também define o cursor Qt::WaitCursor na viewport QTextEdit:

self.status.setCursor(Qt.WaitCursor)
self.status.viewport().setCursor(Qt.WaitCursor)