毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

基于QT的GUI设计 第6页

更新时间:2014-6-28:  来源:毕业论文

基于QT的GUI设计 第6页
在QT中调用mplayer的方法为:
const QString mplayerPath("mplayer ");
QStringList args;  args<<"XXX.avi";
QProcess* myProcess=new QProcess;
myProcess->start(mplayerPath,args);
其中mplayerPath("mplayer ")为mplayer的路径,args为进程调用时的句柄,即是mplayer的参数。例如: -slave、-quiet等模式
对于在音视频播放时要暂停、停止、全屏等操作时可以调用以下语句:
mplayerProcess->write("AAA");
其中AAA为mplayer默认的快捷键参数,例如:p为暂停,q为停止,f为全屏等。
在本系统中利用以下方法实现开始,停止、暂停:bool startMPlayer();bool stopMPlayer();bool pauseMPlayer()。bool isplaying;作为音视频是否播放的标识;
使用Qprocess的函数readLine();获取线程信息,将相关数据放入一个数组中:QByteArray buffer(mplayerProcess->readLine());之后获取文件的播放信息,包括播放的窗口大小,时间条长度,当前播放的时间位置。
使用open();打开一个系统文件浏览列表,
movieFile = QFileDialog::getOpenFileName(this);此处调用QT内部API函数打开文件。
以下为给mplayer进程添加检测进程是否推出状态的信号与槽:
connect(mplayerProcess,SIGNAL(finished(int,QProcess::ExitStatus)),this, SLOT(mplayerEnded(int, QProcess::ExitStatus)));
4.2.3 播放器模块GUI界面设计
在此模块界面中设计了一个不规则窗体,添加按钮:播放,暂停,停止,全屏。
主要函数说明如下:
  Qpixmap pix;
pix.load(":/images/musicbg.png",0,Qt::AvoidDither|Qt::ThresholdDither|Qt::ThresholdAlphaDither);
resize(pix.size());setMask(pix.mask());
    其中pix为不规则窗体的背景图片,此部分为加载一个png图片。
以下为将加载的图片绘画在窗口中:
QPainter painter(this);
painter.drawPixmap(0,0,QPixmap(":/images/musicbg.png"));
此外,在背景图片上添加相应的事件触发按钮,以下以打开按钮为例:
Qimage openimage.load(":/images/open.png");给openimage加载图片;
Labelopen = new QLabel( this );建立新的Label;
QLabel* Labelopen->setPixmap(QPixmap::fromImage(openimage));把openimage设置在Label中;
 Labelopen->setGeometry(QRect(55,115,32,32));设置Label的坐标位置;
Labelopen->installEventFilter(this);给Label安装事件过滤器。
以下为鼠标点击及释放时的事件过滤事件:
if(watched == Labelopen)
{
if(event->type() == QEvent::MouseButtonPress) //检测鼠标点击事件;
{QMouseEvent *mouseEvent = (QMouseEvent *)event; 
if(mouseEvent->buttons() &Qt::LeftButton)//鼠标单击左键;
{QMatrix martix;
martix.scale(0.8,0.8); 
QImage tmp=openimage.transformed(martix);//鼠标按下时的按钮动态效果;
Labelopen->setPixmap (QPixmap::fromImage(tmp));
}
}  
 if(event->type() == QEvent::MouseButtonRelease)
{Labelopen->setPixmap (QPixmap::fromImage(openimage));//鼠标释放后显示的按钮图片;
 open();    //调用打开文件的方法

}
return QDialog::eventFilter(watched,event);
此外利用同样方法创建play,pause,fullscreen,stop等按钮事件过滤。
4.3网页浏览器模块设计
4.3.1 Webkit引擎
WebKit 是一个开源浏览器网页排版引擎,与之相应的引擎有Gecko(Mozilla,Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。
Webkit是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavascrīptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。
QT内部包含有调用Webkit引擎的API,以实现网页浏览。
4.3.2 QT调用Webkit类和实现方法
以下为本模块类中相关函数:

图4-5  浏览器中相关函数图

本系统中调用webkit时主要的

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

基于QT的GUI设计 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。