2016-11-13 82 views
-2

我目前正在使用QT開發我的第一個GUI cpp應用程序。現在我的目標是通過兩個按鈕向用戶顯示對話:確定和取消。我已經使用信號和插槽編輯器來取消關閉窗口,但是我似乎無法找到並設法做的事情是在單擊OK時從另一個.cpp文件運行一個函數。我用google搜索過,沒有答案似乎是相關的。來自另一個.cpp文件的QT調用函數C++

文件 「mydefault.cpp」 -如何調用函數 「calldefaults()」 - 這我試着打電話給在 「server.cpp」

void calldefaults(){ 
... 
... 
... 
} 

問題

void MyDefault::on_pushButton_clicked() 
{ 
    \\ call function from another .cpp file 
} 

功能從「mydefaults.cpp」

「server.cpp」從任何線索或提示都超過歡迎,如果答案是超級轉儲只是把它扔在我:)

謝謝

+1

你的意思[如何在另一個文件中的函數調用?](http://stackoverflow.com/questions/15891781/how-to-call-on-a-function-found-on-another-file ) – saygins

+1

請參閱您的書關於聲明和定義以及頭文件。您可以將函數聲明放置在頭文件中,並在包含該頭文件時使其可用。順便說一句,有'QDialog'這似乎是你正在努力完成 – krzaq

回答

0

這對於在C/C++(而不是Java等)中理解這一點很重要。每個.c/.cpp文件分別編譯,然後鏈接在一起。當編譯mydefault.cpp時,它需要知道calldefaults()函數存在。要做到這一點,你需要所謂的「原型」。在mydefault.cpp文件的開頭,所有函數的聲明之外,放線,看起來像:

void calldefaults(); 

,並調用的功能等:

calldefaults(); 

,將工作 - 如果你有鏈接問題,確保這兩個文件都包含在您的編譯器命令中。

+0

對於較大的系統,原型(第一代碼)將進入一個.h文件,該文件將在#include中的每個源文件中調用功能。 – Mikes