D:\Users\17574\Documents\sample\tuozhuaiandlianxian\mainwindow.cpp:105: error: no matching function for call to 'QGraphicsLineItem::setLine(QPointF, QPointF)' ..\tuozhuaiandlianxian\mainwindow.cpp: In member function 'virtual QVariant CircuitComponent::itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&)': ..\tuozhuaiandlianxian\mainwindow.cpp:105:32: error: no matching function for call to 'QGraphicsLineItem::setLine(QPointF, QPointF)' 105 | connection->setLine(mapToScene(0, 0), connection->line().p2()); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
时间: 2023-06-28 22:11:19 浏览: 46
这个错误的原因是 `QGraphicsLineItem::setLine()` 函数需要传入两个 `QLineF` 类型的参数,而你传入了两个 `QPointF` 类型的参数。要解决这个错误,你需要创建一个 `QLineF` 对象并将其作为参数传递给 `setLine()` 函数。你可以将代码修改如下:
```cpp
QPointF p1 = mapToScene(0, 0);
QPointF p2 = connection->line().p2();
QLineF line(p1, p2);
connection->setLine(line);
```
这里我们先创建了两个 `QPointF` 对象 `p1` 和 `p2`,然后使用它们创建了一个 `QLineF` 对象 `line`,最后将 `line` 作为参数传递给了 `setLine()` 函数。这样就可以避免编译错误了。
相关问题
D:\Code\dataXml\mainwindow.cpp:76: error: No matching member function for call to 'connect' (fix available)
这个错误通常是由于连接信号和槽函数的参数不匹配导致的。请确保你在连接信号和槽函数时使用了正确的参数类型。
在上面的示例中,我们使用了以下代码来连接信号和槽函数:
```cpp
QObject::connect(&lineEdit, &QLineEdit::returnPressed, [&]() {
// 槽函数的实现
});
```
如果你在连接时仍然遇到错误,请检查以下几点:
1. 确保你的信号和槽函数的参数个数和类型匹配。
2. 检查信号和槽函数的声明是否正确。在这个示例中,`returnPressed`是`QLineEdit`的一个信号,而槽函数是一个lambda函数。
3. 确保你使用了正确的信号和槽函数的地址和引用。
如果你可以提供更多的代码或错误信息,我可以给出更具体的帮助。
D:\Code\test\mainwindow.cpp:53: error: No matching constructor for initialization of 'QPolygonF'
这个错误是因为 `QPolygonF` 类的构造函数需要传入一个参数,表示多边形的顶点数。您可以将代码中创建 `QPolygonF` 对象的方式改为如下方式:
```cpp
QPointF points[3] = {
QPointF(150, 30),
QPointF(165, 15),
QPointF(180, 30)
};
QPolygonF triangle;
triangle.append(points[0]);
triangle.append(points[1]);
triangle.append(points[2]);
```
这里我们先创建了一个包含三个 `QPointF` 的数组 `points`,然后使用 `QPolygonF` 对象的 `append` 方法将三个点添加到 `triangle` 对象中。
希望这样修改后能够解决您的问题!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)