现在的位置: 首页 > 综合 > 正文

QT和flex swf进行相互调用和交互

2013年08月02日 ⁄ 综合 ⁄ 共 2270字 ⁄ 字号 评论关闭

 

  1. 在项目文件xxxx.pro中加入 CONFIG

    += qaxcontainer

  2. 在窗口中使用如下代码,嵌入并播放flash

     

  • 让QT的程序调用swf中的方法:

    • 在qt的主窗口中定义一个按钮。按钮的click事件如下:
    • 在flex的as文件中定义接口程序如下:

       

    • 在flex的as文件中定义程序的实现方法
    • 上面的代码段,完成了如此场景:在qt的主窗口有个按钮,点击按钮后,在flex里面显示出一个alert窗口,内容为:哦哟,我是QT传递给flex的内容
    • 让swf中调用QT中的方法:

      • 在flex中定义一个按钮。访问QT中的方法,并获得一个返回值

         

      • 在QT中定义一个slot,和来自flex中的方法产生signal进行连接。由于as3运行时候,在flex中的ExternalInterface.call会产生一个signal,形式是FlashCall(

        QString

        ),其中QString是flex方法里面传来的参数"Hunk","roamer".

      • 定义一个slot,在头文件中定义。

         

      • 在QT的代码中连接一个slot

      • 实现slot中的方法

        注意:flex中传递过来的内容是一个包含方法名和参数列表的xml。同样:如果要让QT给flex代码返回值。返回值也必须是xml字符串(

        "<string>哦也!我是qt返回的内容</string>"

        ;

        )。否则不能获得

    抱歉!评论已关闭.