繁体   English   中英

Qt 创作者,拨打function

[英]Qt Creator, call a function

我在 QT 创建者的不同 class 中调用 function 时遇到问题。

在这里,在主要的 class mainWindow.cpp中,我从studentsearcher.cpp中调用了一个 function 这是一个 function,它在用户按下按钮时发生,问题在于此

void MainWindow::on_FindButton1_clicked(){

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

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

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;

这是 function 在 studentSearcher.cpp 中的定义

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

}

我已经尝试解决这个问题很长时间了,我尝试过一些非常愚蠢的事情,比如: searchStudent.exec(search_id(55));

并认为它行不通,因为我认为 the.exec() 是构造函数部分......抱歉,我对编码和 QT 有点笨,但是......我似乎无法弄清楚如何让这个愚蠢的东西工作。 我尝试了很多东西,但无济于事......

您的 search_id 实现是免费的 function。您需要使其成为会员 function:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM