1
我想在鼠标移动时改变椭圆的颜色。 但是我还没有从Qt Creator的参考和自动完成中找到任何东西。Qt Creator,C++,鼠标悬停功能
你们知道该怎么做吗?
我的一些代码:
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();
}
按下鼠标事件处理程序:
void DrawingWidget::mousePressEvent(QMouseEvent *event) {
if (event->button() == Qt::LeftButton
&& event->buttons() == Qt::LeftButton) {
// DO STUFFF
}
}
鼠标移动事件处理程序:
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();
}
}
}
现在我只需要一个鼠标OVER事件(处理)。
请发布您的代码的简短片段。在这一点上,我们仍然知道比你的自动完成还要少... – 2011-04-10 20:51:12
另外。这是一个QWidget或QGraphicsItem? – 2011-04-10 20:53:29
@Greg Hewgill,@Stephan Chu:我在主要帖子中添加了片段。 – Jaanus 2011-04-10 21:00:55