#include "double_single_clicked.h"
#include <QTimer>
#include <QLabel>
#include <QMouseEvent>
DoubleSingleClicked::DoubleSingleClicked(QWidget *parent)
: QWidget(parent)
{
setFixedSize(600, 400);
m_label = new QLabel(this);
m_label->move(15, 50);
m_label->setText(QStringLiteral("区分鼠标单击,双击事件!"));
m_clickedTimer = new QTimer(this);
connect(m_clickedTimer, SIGNAL(timeout()), this, SLOT(slotSingleClicked()));
}
DoubleSingleClicked::~DoubleSingleClicked()
{
}
void DoubleSingleClicked::mouseDoubleClickEvent(QMouseEvent *e)
{
if (m_clickedTimer->isActive())
m_clickedTimer->stop();
m_label->setText(QStringLiteral("鼠标双击!!"));
}
void DoubleSingleClicked::mousePressEvent(QMouseEvent *e)
{
if (Qt::LeftButton == e->button())
{
m_clickedTimer->start(300);
}
}
void DoubleSingleClicked::slotSingleClicked()
{
m_label->setText(QStringLiteral("鼠标单击!!"));
if (m_clickedTimer->isActive())
m_clickedTimer->stop();
}