• 4656阅读
  • 1回复

QT3 mplayer编程 事件过滤失效! [复制链接]

上一主题 下一主题
离线kunkka
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-31
 最近在用QT3来包装mplayer,设计成自己需要的简易播放器!
 系统环境: 虚拟机下fedora13 
 mplayer源码包: MPlayer-1.0rc4.tar.bz2

  我用QProcess类来启动mplayer播放指定目录的2.avi文件到指定窗口 有玩过的人应该知道 该命令为 mplayer -quiet -slave -wid 0x4000005 /home/yang/2.avi
  可以看到在指定窗口播放视频成功, 但问题出来了, 竟然过滤器失效了!以为是指定到指定窗口后窗口不能接收过滤事件,所以改为播放mp3,不用输出到指定窗口,但是点击主窗口还是没反应。。。 主要代码如下~

C/C++ code

    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前台鼠标点击窗口应该没冲突,可以得到点击事件的呀
  }
 
 虽然这贴在CSDN上一模一样,但不要怪我发重复贴, 只想多些贴子 让多些人看到 快点解决问题而已~   帮帮忙啊。。。
离线kunkka
只看该作者 1楼 发表于: 2011-05-31
      突然间又可以过滤了, 真回想不起来自己做过什么手脚了, 不知道是好是坏 ,下次再遇到估计还是不会弄吧。。。。
快速回复
限100 字节
 
上一个 下一个