4

每当我在 QTextEdit 中按下回车键时,它都会单击我的登录按钮。不知何故,这会导致我的 QtCreator 崩溃。如果我在 QTextEdit 中按回车,我该如何改变会发生什么?

4

1 回答 1

8

您需要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);
        }
    }
};

或者,您可以在文本编辑上安装事件过滤器。

于 2013-05-02T13:51:42.707 回答