我正在尝试通过信号/插槽选项连接两个小部件,但我不断收到“不存在这样的插槽”的错误消息。事实是,在编写程序时,我使用 Ctrl + Space 只是为了确保我没有打错任何字。
所以我有一个小部件:
渲染区域.h
类renderArea:公共QGraphicsView { Q_OBJECT 上市: renderArea(QWidget *parent = 0); void addClothoid(浮动长度,浮动 startCurvature,浮动 endCurvature); 信号: void sendData(浮点长度,浮点startCurvature,浮点endCurvature); };
渲染区域.cpp
void renderArea::addClothoid(浮动长度,浮动 startCurvature,浮动 endCurvature) { ... 发出发送数据(长度,开始曲率,结束曲率); } }
第二个小部件:
表视图列表.h
类 TableViewList:公共 QTableView { Q_OBJECT 上市: TableViewList(QWidget* parent = 0); 受保护的插槽: void onClothoidAdded(浮动长度,浮动 startCurvature,浮动 endCurvature); };
表视图列表.cpp
void TableViewList::onClothoidAdded(浮动长度,浮动 startCurvature,浮动 endCurvature) { ... }
和主要小部件:
renderingwidget.cpp 我连接上面的2:
renderingWidget::renderingWidget(QWidget *parent) : QWidget(父), ui(新的 Ui::renderingWidget) { ui->setupUi(这个); 连接(ui->graphicsView,信号(sendData(float,float,float)),ui->clothoidTable, SLOT(onClothoidAdded(float,float,float))); }
ui->graphicsView 已提升为 renderArea,ui->clothoidTable 已提升为 TableViewList。
那么为什么会出现这个错误呢?