2013-12-17 2 views
0

Я хочу сделать тестер регулярных выражений. В диалоговом окне есть два виджета textEdit. Первый используется для ввода регулярного выражения, второй - для ввода данных. Если регулярное выражение может соответствовать данным во втором элементе textEdit, подсвеченная строка будет подсвечена.Как получить изменения сразу в виде виджета textEdit в PyQt?

Но я не хочу добавлять какие-либо кнопки в диалоговом окне, так как я могу получить изменения сразу в виджете regex textEdit, поэтому я могу выделить совпадающие данные во втором?

ответ

3

Вы должны уловить это, используя textChanged signal.

Просто подключите этот сигнал обратного вызова, и вы сделали:

def my_callback(widget, *args): 
    # Do something with the widget 

textedit_widget.textChanged.connect(my_callback) 
+0

Что такое my_callback? Я использовал Qt Designer для рисования графического интерфейса и подключил текстовый TextEdit textEhit() к второму redo(), правильно? –

+0

Это ваш обратный вызов, который делает что-то *, когда текст меняется. –

0

Посмотрите на сигналы QLineEdit «s textChanged (const QString & text) или, например, returnPressed(). Вы можете просто подключить эти сигналы от любого из этих двух QLineEdits к слоту, где вы обрабатываете соответствие и делаете выделение

Смежные вопросы