Qt下QLibrary动态加载dll

发布时间:2016-12-11 18:01:50 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Qt下QLibrary动态加载dll",主要涉及到Qt下QLibrary动态加载dll方面的内容,对于Qt下QLibrary动态加载dll感兴趣的同学可以参考一下。

2009-03-05 13:11:54|  分类: 札记|字号 订阅  测试平台:Windows XP Sp3 + Qt 4.5 + Compaq Visual Fortran Version 6.6 下了个Qt Creator功能挺强大的,测试一下QLibrary动态加载VS下编译的Fortran写的dll。在pushButton上建立click()信号的槽 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QLibrary> #include <qtextcodec.h>        //解决中文显示所需的库 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindowClass) { ui->setupUi(this); QTextCodec::setCodecForTr(QTextCodec::codecForLocale());   //设置中文显示,使用本地字库 connect(ui->OKButton,SIGNAL(clicked()),this,SLOT(close()));     //将OKButton的Clicked()信号帮定close()槽 } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_OKButton_2_clicked()        //OKButton_2的槽 { ui->label->setText(QApplication::translate("MainWindowClass", "aaa", 0,QApplication::UnicodeUTF8 ));    //另一种文本转换方法,不知有啥优点... int a=1,b=2,c=6; typedef void (*myfun)(int,int,int *);       // 定义导出函数类型 QLibrary hdll( "test01.dll" );        //加载dll,当前目录 if(hdll.load()) { myfun fun1 = (myfun)hdll.resolve("MYSUB");        //用resolve来解析fun1函数 if ( fun1 )       //解析成功则进行运算并提示相关信息 { fun1(a,b,&c); QString qss=tr("dll加载成功!\n 1+2=")+QString::number(c,10); ui->label->setText(qss); } } } 运行结果: 附 Qt Creator 编辑界面: PS:minGW编译Qt,速度太慢了~

上一篇:Source Insight使用技巧总结
下一篇:java:重写equals 和hashcode

相关文章

相关评论