Qt Всякий раз, когда нажимаете ввод в QTextEdit

Всякий раз, когда я нажимаю enter в моем QTextEdit, он выполняет нажатие на мою кнопку входа в систему. Каким-то образом это вызывает сбой моего QtCreator. Как я могу изменить то, что произойдет, если я нажму enter в моем QTextEdit?

1

Решение

Вы должны подкласс QTextEdit и поймайте интересующее вас событие, переопределив соответствующий метод:

class MyTextEdit : public QTextEdit
{
Q_OBJECT
public:
void MyTextEdit::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Return)
{
login(); // or rather emit submitted() or something along this way
}
else
{
QTextEdit::keyPressEvent(event);
}
}
};

Кроме того, вы можете установить фильтр событий на редактирование текста.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]