신호/슬롯 옵션을 통해 두 위젯을 연결하려고하는데 '슬롯이 없습니다'라는 오류가 계속 발생합니다. 사실 저는 프로그램을 작성하는 동안 Ctrl + Space를 사용하여 오타를 만들지 않았 음을 확인했습니다.'슬롯이 없습니다'Qt
그래서 하나의 위젯이 있습니다
renderArea.h을
class renderArea : public QGraphicsView { Q_OBJECT public: renderArea(QWidget *parent = 0); void addClothoid(float length, float startCurvature, float endCurvature); signals: void sendData(float length, float startCurvature, float endCurvature); };
renderArea.cpp
void renderArea::addClothoid(float length, float startCurvature, float endCurvature) { ... emit sendData(length, startCurvature, endCurvature); } }
2 위젯 :
tableViewList.h
class TableViewList: public QTableView { Q_OBJECT public: TableViewList(QWidget* parent = 0); protected slots: void onClothoidAdded(float length, float startCurvature, float endCurvature); };i가 2 위 연결
renderingwidget.cpp : 516,
tableViewList.cpp
void TableViewList::onClothoidAdded(float length, float startCurvature, float endCurvature) { ... }메인 위젯
renderingWidget::renderingWidget(QWidget *parent) : QWidget(parent), ui(new Ui::renderingWidget) { ui->setupUi(this); connect(ui->graphicsView, SIGNAL(sendData(float,float,float)), ui->clothoidTable, SLOT(onClothoidAdded(float,float,float))); }
UI-> graphicsView가 renderArea 승격되었으며 TableViewList에 대한 clothoidTable.
그럼 왜이 오류가 나타날 수 있습니까?
예 ... 시도했지만 여전히 작동하지 않습니다. – schmimona
생성 된 파일을 moc로 검사하여 슬롯이 생성되는지 확인 했습니까? 어쩌면 모든 임시 파일을 삭제해도 도움이 될 것입니다. (잠시 캐싱 문제가 있음을 기억합니다.) – KPK
모든 메이크 파일을 검사했는데 그 중 하나에 내 슬롯에 대한 언급이 없습니다. – schmimona