Qt与flash交互实现(播放Flash动画)

播放Flash动画需要引入QAxWidget类,依赖库文件有QAxContainer.lib,QAxServer.lib。

在Qt中应用QAxWidget类时,还不能忘记你电脑需要装FlashActiveX插件,切记,Flash不支持64位,所以,代码也只能是32位的。
在这里插入图片描述
QAxContainer.lib和QAxServer.lib这两个库没有没关系,VS中可以勾选Qt的类选项,然后引用Qt的QAxWidget类的头文件即可。
在这里插入图片描述
在这里插入图片描述
当然也可以直接引用这个两个库,但一定要正确引用,不然编译会出现无法解析外部符号的错误。

下面来说说代码部分。

	QTextCodec *codec = QTextCodec::codecForName("GB2312"); //文本为GB2312编码
	QTextCodec::setCodecForLocale(codec);       //设置本地编码
	
	QAxWidget *flash = new QAxWidget(parent);      //QAxWidget使用的是ActiveX插件
	flash->resize(800, 600);                    //设置该控件的初始大小
	flash->setControl(QString::fromUtf8("{d27cdb6e-ae6d-11cf-96b8-444553540000}")); //设定控制器
	flash->dynamicCall("LoadMovie(long,string)", 0, "D:\\flashTest\\flash.tset.swf");   //加载flash文件
	flash->setWindowFlags(Qt::FramelessWindowHint);   //去除边框
	flash->show();

控制器是你本机安装Flash插件的注册表
在这里插入图片描述
关于Qt和Flash交互,需要用到Qt的connect函数,同信号与槽的机制一样,接收到Flash某个信号去实现某个槽函数的功能。

Flash动画的播放效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36651243/article/details/93134331