class QClickWidget : public QWidget{
pubilc:
QClickWidget(QWidget *parent = 0)
~QClickWidget();
signals:
void clicked();
public slots:
void mouseClicked();
protected:
void mousePressEvent(QMouseEvent *ev);
void mouseReleaseEvent(QMouseEvent *ev);
private:
QPoint mousePos;
};
QClickWidget::QClickWidget(){
connect(this, SIGNAL(clicked()), this, SLOT(mouseClicked()));
}
void QClickWidget::mouseClicked()
{
//处理代码
}
void QClickWidget::mousePressEvent(QMouseEvent *ev)
{
mousePos = QPoint(ev->x(), ev->y());
}
void QClickWidget::mouseReleaseEvent(QMouseEvent *ev)
{
if(mousePos == QPoint(ev->x(), ev->y())) emit clicked();
}
Last modification:February 17th, 2020 at 12:21 pm
© The copyright belongs to the author