0
我有一個按鈕,無國界的形式就像這個question正確的點擊事件
問題是,我無法點擊按鈕。只有當我執行雙擊而不改變按鈕的位置時它才起作用。如何檢查用戶我執行點擊(不拖動)?
來到這裏代碼:
bool LoginForm::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QMouseEvent::MouseButtonPress)
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
if (obj == ui.loginButton)
{
QPoint absPos = ui.loginButton->mapToParent(QPoint(0, 0));
m_dragPosition = (mouseEvent->pos() + absPos);
return true;
}
}
return false;
}
void LoginForm::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
m_dragPosition = event->globalPos() - frameGeometry().topLeft();
event->accept();
}
}
void LoginForm::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton)
{
QPoint coord = event->globalPos() - m_dragPosition;
move(coord);
event->accept();
}
}
如果我不喜歡這一點,並試圖拖動按下按鈕,形式會動搖在鏈接的問題 –
你說的問題是與單擊。這個例子更多的是用戶對UI的期望。點擊按鈕,而不是拖動。 – AlexanderVX