Qt Creator,调用一个函数

时间:2012-04-05 18:01:12

标签: c++ qt qt-creator

我在QT创建者的另一个类中调用函数时遇到问题。

在主要课程mainWindow.cpp中,我从studentsearcher.cpp调用了一个函数 这是当用户按下按钮时发生的功能,问题出在这个

void MainWindow::on_FindButton1_clicked(){

      StudentSearcher searchStudent;
      searchStudent.exec();
      searchStudent.search_id(55);  //   <---- the problem
}

这会产生以下两条错误消息:

1.undefined reference to StudentSearcher::search_id(int)
2.collect2: ld returned 1 exit status

以下是StudentSearcher.h文件的一部分:

class StudentSearcher : public QDialog
{
    Q_OBJECT

public:
    explicit StudentSearcher(QWidget *parent = 0);

    void search_id(int idNum);

    ~StudentSearcher();

private slots:

private:
    Ui::StudentSearcher *ui;

以下是studentSearcher.cpp中函数的定义

void search_id(int idNum){
int idNumber = idNum;

}

我一直试图解决这个问题很久了,我尝试了一些非常愚蠢的事情:searchStudent.exec(search_id(55));

并认为它不起作用,因为我认为.exec()是构造函数的一部分......对不起,我对编码和QT有点不高兴但是......我似乎无法想象如何让这个愚蠢的事情发挥作用。我尝试过很多东西,但无济于事......

1 个答案:

答案 0 :(得分:4)

您的search_id实现是一项免费功能。你需要使它成为一个成员函数:

void StudentSearcher::search_id(int idNum){
    int idNumber = idNum;
}