2014-09-03 9 views
1

У меня есть простой виджет Qt, содержащий QPlainTextEdit. Я хочу только отобразить текст, чтобы отключить текстовое взаимодействие. Теперь я хочу изменить форму курсора на нормальный Qt.ArrowCursor. Я пробовал:Как изменить форму курсора QPlainTextEdit (Pyqt, PySide)

self.disp = QPlainTextEdit() 
self.disp.setTextInteractionFlags(Qt.NoTextInteraction) 
self.disp.setCursor(Qt.ArrowCursor) 

но он не работает.

PS: Я не хочу использовать:

QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor)) 

, как я на самом деле есть и другие виджеты в приложении, и я не хочу, чтобы воздействовать на них.

+0

Да. Спасибо за решение. Для информации о том, кто googled здесь, 'viewport()' наследуется от 'QAbstractScrollArea'. Таким образом, этот метод применим для всех подклассов под 'QAbstractScrollArea', см. Здесь: [link] (http://srinikom.github.io/pyside-docs/PySide/QtGui/QAbstractScrollArea.html#PySide.QtGui.QAbstractScrollArea) – Northern

ответ

2

Попробуйте установить курсор в viewport() из QPlainTextEdit.

viewport().setCursor(); 
Смежные вопросы