作者:朱金灿
来源:http://blog.youkuaiyun.com/clever101
加载动态库的代码:
typedef void (*Execute)(); // 定义导出函数类型
QString strConfigPath ="D:\\Debug\\test.dll";
QLibrary hdll( strConfigPath ); //加载dll,当前目录
if(hdll.load())
{
Execute fun1 = (Execute)hdll.resolve("execute"); //用resolve来解析execute函数
if ( fun1 ) //解析成功则调用函数
{
fun1();
}
}
注意在Windows环境下QT不能加载使用了MFC的dll,因为加载后会崩溃,只能加载使用Win API的dll和qt编写的dll。
弹出模态对话框:
MyDlg *pDlg = new MyDlg();
pDlg->exec();
delete pDlg;
弹出非模态对话框:
MyDlg* pDlg = new MyDlg();
pDlg->setModal(false);
pDlg->show();
注意弹出对话框一般通过new一个对象出来,如果使用临时变量的话,出现作用域的话就会对话框会自动销毁。