LINUX.ORG.RU

Не знаю PyQt, но ты подписываешься на слот textChanged(), а потом в нём же снова изменяешь текст, вызывая setHtml(), следовательно, textChanged() вызывается снова и так до бесконечности.

EXL ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Блокировать сигнал оказывается можно:

self.blockSignal(True) self.user_input.setHtml(text) self.user_input.moveCursor(QtGui.QTextCursor.End) self.blockSignal(False)

errfrom
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Это в питоне такое можно или вообще в Qt? А я через свои костыли.

uralbash

shrub ★★★★★
()
Ответ на: комментарий от errfrom

Хм, сейчас посмотрел, у QLineEdit есть сигнал textChanged(), который и нужно вызывать в таких случаях, как у тебя и не захламлять код с блокировкой сигналов. Это даже в документации написано:

http://doc.qt.io/qt-5/qlineedit.html#textEdited

А у QTextEdit, этого сигнала, внезапно, нет. Qt такой Qt.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
23 марта 2017 г.

Рекурсия возникает потому, что возникает рекурсия.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.