QT3 mplayer编程 事件过滤失效!

freshman_fantom_ywj 2011-05-31 12:42:40
 最近在用QT3来包装mplayer,设计成自己需要的简易播放器!
 系统环境: 虚拟机下fedora13 
 mplayer源码包: MPlayer-1.0rc4.tar.bz2

我用QProcess类来启动mplayer播放指定目录的2.avi文件到指定窗口 有玩过的人应该知道 该命令为 mplayer -quiet -slave -wid 0x4000005 /home/yang/2.avi
可以看到在指定窗口播放视频成功, 但问题出来了, 竟然过滤器失效了!以为是指定到指定窗口后窗口不能接收过滤事件,所以改为播放mp3,不用输出到指定窗口,但是点击主窗口还是没反应。。。 主要代码如下~
    
CMyPlayer::CMyPlayer(QWidget *parent,const char *name):
QWidget(parent,name, Qt::WStyle_Customize | Qt::WStyle_NoBorder)
{
currentFile = 0;
SetupUi();
installEventFilter(this); //为主窗口安装事件过滤器
playNextFile();
}

void CMyPlayer::PlayAudio(QString fileName)
{
playProcess->clearArguments();
playProcess->addArgument(MPLAYER_PATH);
playProcess->addArgument(fileName); //这里播放的是mp3文件,所以没有用slave模式以及-wid指定窗口,直接用mplayer播放文件

playProcess->start(); //主要是这句,只要加上这句过滤器就失效了,按道理后台在播放mp3前台鼠标点击窗口应该没冲突,可以得到点击事件的呀
}


  大虾们~ 高手们~ Help...
...全文
100 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
 莫明其妙又可以过滤了, 现在一边播放时点击窗口 可以实现事件过滤。。。 纠结啊! 真回想不起来自己做了什么手脚让他可以了!!! 不知道是好是坏, 估计下次遇到还是不会弄。。。  
  • 打赏
  • 举报
回复
100分都没有高手来瞅瞅么。。。  郁闷~

21,462

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧