Fortran Coder

查看: 5773|回复: 3
打印 上一主题 下一主题

[混编] 关于qt调用Fortran的dll程序设置进度条的问题

[复制链接]

25

帖子

10

主题

0

精华

熟手

F 币
158 元
贡献
82 点
跳转到指定楼层
楼主
发表于 2019-9-4 19:38:08 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
   各位老师,我现在遇到一个问题,就是我调用Fortran的dll需要运行时间过长,所以我想设置一个进度条来表示dll运行的进度,当调用外部程序结束时,进度条正好显示百分百,我应该如何在Fortran程序中建立函数来把实时的进度传递到qt中呢?请各位老师指教。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

25

帖子

10

主题

0

精华

熟手

F 币
158 元
贡献
82 点
沙发
 楼主| 发表于 2019-9-6 11:02:29 | 显示全部楼层
本帖最后由 紫雪封尘 于 2019-9-6 11:05 编辑

您好,您的意思是设置回调函数,我做了测试,但是由于对c++不很熟悉,所以我写的语句遇到了错误,请老师指教。
void Thread::progress(int a)
{
    emit UpdateSignal(a);
}

void Widget::UpdateSlot(int num)
{   
ui->progressBar->setValue(num);}
void Thread::run()
{
     typedef void(*setprogress)(int) ;
     typedef void(*QTSEG)(setprogress );  
     QLibrary dll("Dllsey_information.dll");
     if(dll.load())
     {
       QTSEG in=(QTSEG)dll.resolve("PROGRESS");
     in(progress );//此处报错,说是由于非静态函数的关系,我不知如何修改,请指教
     }
   
}





您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 04:40

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表