Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: vux от Июль 13, 2010, 18:37



Название: QScintilla есть маленький вопрос
Отправлено: vux от Июль 13, 2010, 18:37
Пишу на питоне редактор с QScintilla.
Хочу реализовать автозакрытие скобок:

Код
Python
def TextChanged( self ):
if CLOSE_BRACES:
line, pos = self.getCursorPosition()
starts="({["
ends=")}]"
char = chr(self.SendScintilla( qsci.SCI_GETCHARAT, pos )) # Get character at left of cursor
index = starts.find( char )
if index > -1:
self.insert( ends[index] )

Это слот соединенный с сигналом textChanged
Дело в том что он не хочит вставлять текст ( self.insert( ends[index] ) ).
Я понимаю что это изза конфликта сигнала изменения текста и моего желания в этот момент встарить свой текст. В принципе можно реализовать это все в связке с cursorPositionChanged.
Но это как то не рационально. Может есть у кого какие идеи ?