您的位置:首页 > 编程语言 > Qt开发

QT 动态加载dll

2017-03-11 15:13 211 查看
声明函数

//typedef QWidget*(*Dllfun_GetMainDlg)();

//typedef void   (*Dllfun_SetChannelNames)(QString,QStringList);


调用

/*  mylib.setFileName("D:/QT/test7/build-CDBurner-5_5minw-Debug/debug/CDBurner.dll");

if(mylib.load()){

Dllfun_GetMainDlg GetMainDlg=(Dllfun_GetMainDlg)mylib.resolve("GetMainDlg");

if (GetMainDlg)                  //是否成功连接上 函数

{


QWidget* back= GetMainDlg();      //这里函数指针调用dll中的 函数

if(back){

QWidget * mainWidget = ui->widget;

QGridLayout * layout = new QGridLayout();

layout->addWidget(back,0,0,1,1);

mainWidget->setLayout(layout);

// QMessageBox::information(NULL,"NO","GetMainDlg is loaded!");

}else{

QMessageBox::information(NULL,"NO","GetMainDlg back is not loaded!");

}

}

else{

QMessageBox::information(NULL,"NO","GetMainDlg is not loaded!");

}

}

else{

QMessageBox::information(NULL,"NO","DLL is not loaded!");

}


*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: