D:\QT5.9.0\Project\test1\test15\clockwidget.h:82: error: no matching function for call to 'QPainter::drawConvexPolygon(QPolygon&, int)' painter.drawConvexPolygon(m_hourHand, 3); ^
时间: 2024-04-06 10:31:55 浏览: 152
Qt编程实现小时钟
这个错误是因为 `QPainter::drawConvexPolygon()` 函数的第二个参数类型错误导致的。在 Qt 5.9 中,`drawConvexPolygon()` 函数的第二个参数应该是 `int` 类型的,表示多边形中点的数量(也就是多边形由几个点组成)。但是在您的代码中,第二个参数使用了 `3`,这是错误的。
要解决这个问题,您需要将 `drawConvexPolygon()` 函数的第二个参数改为多边形的点数。在您的代码中,`m_hourHand`、`m_minuteHand` 和 `m_secondHand` 都是三个点组成的多边形,因此应该将第二个参数改为 `3`,如下所示:
```c++
painter.drawConvexPolygon(m_hourHand, 3);
painter.drawConvexPolygon(m_minuteHand, 3);
painter.drawConvexPolygon(m_secondHand, 3);
```
这样就可以解决这个编译错误了。
阅读全文