这段代码的主要功能是在窗口中出现一个按钮,这个按钮的功能是暂停继续当前播放的视频(音频),在pc下没有问题
问题是:经过交叉编译后一直到arm板子上,点击按钮就没有反映了。mplayer在板子上单独可以运行,
Qt/E是不是有特殊之处?????????????,如果有的话,告诉一下
Qt/E的编译参数是
./configure -embedded arm在板子上运行参数是
./app_name -qws这是主文件- #include <QApplication>
- #include "process.h"
- int main(int argc,char **argv)
- {
- QApplication app(argc,argv);
- Process p;
- p.show();
- return app.exec();
- }
这是process.h文件
- #include "process.h"
- #include <QWidget>
- #include <QProcess>
- #include <QPushButton>
- #include <QStringList>
- Process::Process(QWidget *parent):
- QWidget(parent),isPlay(false)
- {
- p = new QProcess(this);
- p->setProcessChannelMode(QProcess::ForwardedChannels);
- args<<"-slave"<<"/home/lvxibao/Music/sss.mov";
- button = new QPushButton("Click",this);
- connect(button,SIGNAL(clicked()),this,SLOT(change()));
- p->start("/usr/bin/mplayer",args);
- }
- Process::~Process(){}
- void Process::change()
- {
- p->write("pause\n");
- isPlay = false;
- }
这是process.cpp文件
- #ifndef PROCESS_H
- #define PROCESS_H
- #include <QProcess>
- #include <QPushButton>
- #include <QWidget>
- #include <QStringList>
- class Process:
- public QWidget
- {
- Q_OBJECT
- public:
- Process(QWidget *parent=0);
- ~Process();
- public slots:
- void change();
- private:
- QProcess *p;
- QPushButton *button;
- bool isPlay;
- QStringList args;
- };
- #endif