Qt Creator,C++,鼠标悬停功能

Jaa*_*nus 1 c++ qt qt-creator

当我将鼠标移到椭圆上时,我想改变椭圆的颜色.但是我没有找到任何来自Qt Creator的引用和自动完成的东西.

你们知道怎么做吗?

我的一些代码:

void DrawingWidget::paintEvent(QPaintEvent *event) {
    QPainter painter(this);
    painter.fillRect(event->rect(), Qt::white);

    for(int i = 0; i < pointList.size(); i++) {
        if (pointList[i].x() >= 0 && pointList[i].y() >= 0)
            painter.drawEllipse(pointList[i], 10, 10);
    }
    painter.drawLines(lineList);
    m_mainWindow->updateCount();
}
Run Code Online (Sandbox Code Playgroud)

鼠标按事件处理程序:

void DrawingWidget::mousePressEvent(QMouseEvent *event) {
    if (event->button() == Qt::LeftButton
        && event->buttons() == Qt::LeftButton) {
        // DO STUFFF
    }
}
Run Code Online (Sandbox Code Playgroud)

鼠标移动事件处理程序

void DrawingWidget::mouseMoveEvent(QMouseEvent *event) {
    if (m_mainWindow->getSelectedTool() == MainWindow::moveVertexTool) {
        m_x = event->x();
        m_y = event->y();
        if (isPointNear(m_x, m_y)) {
            //STUFF
        }
            update();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我只需要一个鼠标OVER事件(处理程序).

Ste*_*Chu 5

我认为你在寻找的是enterleave事件.