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)
{
mouserPos = QPoint(ev->x(), ev->y());
}
void QClickWidget::mouseReleaseEvent(QMouseEvent *ev)
{
if(mousePos == QPoint(ev->x(), ev->y())) emit clicked();
}
在Qt中为QWidget创建鼠标点击处理
最新推荐文章于 2024-07-17 13:42:21 发布