2
爲什麼我不能連接動作來調用函數,如果觸發? 我以爲我已經理解了根據這個source 的語法,它聲明可以直接調用一個函數。Qt5 C++連接觸發QAction到一個成員函數
void Traymenu::createMainContextMenu(){
QAction *actionNewNote = mainContextMenu.addAction("Test Func");
QObject::connect(actionNewNote,QAction::triggered,Traymenu::testFunc);
mainIcon.setContextMenu(&mainContextMenu);
}
void Traymenu::testFunc(){
printf("test func");
}
錯誤:invalid use of non-static member function 'void QAction::triggered(bool)
^
好吧,我會試試看。接收對象:你讀過鏈接了嗎?你也可以直接命名一個沒有「this」的函數,據我所知 – user2366975
是的,你可以直接命名一個函數。但是,如果函數是一個成員函數,你必須使用'tr1 :: bind',或者像上面所做的那樣傳遞一個指向接收者的指針。僅僅傳遞一個指向成員函數的指針是不夠的。 –