QTextEdit添加事件

class CUITextEdit : public QTextEdit
{
    Q_OBJECT
public:
    explicit CUITextEdit(QWidget *parent = nullptr);

    void mousePressEvent(QMouseEvent *ev);
    void keyPressEvent(QKeyEvent *event);
    void mouseDoubleClickEvent(QMouseEvent *event);
    void enterEvent(QEvent *);
    void leaveEvent(QEvent*);
    void mouseReleaseEvent(QMouseEvent *);
    void mouseMoveEvent(QMouseEvent *);
signals:
    void sigDbClicked();
    void sigEnter();
    void sigLeave();
};

 

CUITextEdit::CUITextEdit(QWidget *parent) : QTextEdit(parent)
{
    setContextMenuPolicy(Qt::NoContextMenu);
}

void CUITextEdit::mousePressEvent(QMouseEvent *ev)
{
    if(ev->button() & Qt::LeftButton && ev->type() == QEvent::MouseButtonPress)
    {
        //sigEnter();
    }
}

void CUITextEdit::keyPressEvent(QKeyEvent *event)
{
    if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return)
    {
        sigLeave();
    }
}

void CUITextEdit::mouseDoubleClickEvent(QMouseEvent *event)
{
    sigDbClicked();
}

void CUITextEdit::enterEvent(QEvent *)
{

}

void CUITextEdit::leaveEvent(QEvent *)
{
    sigLeave();
}

void CUITextEdit::mouseReleaseEvent(QMouseEvent *)
{

}

void CUITextEdit::mouseMoveEvent(QMouseEvent *)
{

}

你可能感兴趣的:(java,前端,算法)