我們經常使用qt的槽函式。當我們想傳送自己定義的型別引數時候,槽函式會識別出來,無法使用槽函式:
舉例:
struct fbcedata
//傳送的函式為
void senddata(fbcedata * abc)
我們要在對應的連線槽函式的時候要註冊這個類。我這裡採用的是指標的方式。
#include qregistermetatype("fbcedata *");
然後槽函式可以採用qt5的連線一下就好了:
connect(finsall,&finscenter::senddata,this,&mainwindow::on_getdata);//關聯到槽
QT自定義型別作為槽函式的引數
正常情況下訊號與槽之間只能傳遞通用資料型別,如 int。像qvector 結構體等型別就不能傳遞了,需要對複雜資料進行一些包裝。具體思路是 將複雜結構的資料報裝成通用資料型別 qvariant 放入訊號及槽函式中傳遞,在槽函式中使用時再轉化為原來的資料型別。1 訊號的.件 include inclu...
Qt之註冊自定義型別訊號槽函式
typedef struct mytype 在構造裡面新增即可 qregistermetatype mytype 註冊自定義型別訊號槽 使用方法和平時使用一樣 signals void sgl slt mytype mytype type public slots void slt mytype m...
Qt自定義訊號槽
qt自定義訊號槽,在控制台程式中實現 qt5 如下 qt5 include news h class news public qobject void send signals void new const qstring name private qstring m name reader.h i...