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

基于QT的GUI设计 第7页

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

基于QT的GUI设计 第7页
信号和槽包括:
webView = new QWebView;建立一个继承QwebView类的对象;
webPage = webView->page();webview对象显示页面的变量;
createCentralWidget();负责建立中心页面显示窗口部件的槽;
QString url = urlAddr->text();
if (url.left(5) != "http:" && url.left(5) != "file:")
url.prepend("http://");
webView->load(QUrl(url));负责加载网址;
urlAddr = new QlineEdit;
displayUrlAddr(const QUrl &url);负责将网址显示在窗口的urlAddr控件;
webLoadProgress(int progress);负责页面刷新进度显示;
webLoadFinished(bool);负责判断是否刷新完网页。
以下为一些主要的信号和槽的链接:
connect(urlAddr, SIGNAL(returnPressed()), this, SLOT(loadUrlAddr()));//按回车后加载网页地址
 connect(webView, SIGNAL(urlChanged(const QUrl &)), this, SLOT(displayUrlAddr(const QUrl &)));//显示网页地址
 connect(webView, SIGNAL(loadStarted()), this, SLOT(webLoadStarted()));//页面加载
 connect(webView, SIGNAL(loadProgress(int)), this, SLOT(webLoadProgress(int)));//加载进度条显示
 connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webLoadFinished(bool)));//网页加载成功提示
4.3.3网页浏览器GUI界面设计
界面中创建了以下部件:
createActions();QT的菜单栏的命令是由Action来定义的;
createMenus();建立一个菜单栏;
createToolBars();建立工具条;
createCentralWidget();建立主窗口部件;
createStatusBar();建立状态栏;
菜单栏中每个action都有自己的属性,以下以stopAction(停止页面刷新的动作)为例:
stopAction = new QAction(tr("停止"),this);//创建stopAction并起名;
stopAction->setIcon(QIcon(":/images/stop.png"));//给stopAction加载按钮图片;
stopAction->setStatusTip(tr("页面已经停止!"));//状态栏显示文字;
stopAction->setEnabled(false);//将stopAction设置为不可用;
connect(stopAction, SIGNAL(triggered()), webView, SLOT(stop()));//链接信号与槽。
以同样的方法创建exitAction退出动作;lockToolBarACtion锁定工具栏;aboutAction信息提示框;backAction返回动作;forwardAction向前动作;reloadAction重新加载等。
4.4数码相框模块设计
4.4.1 QT的绘图设备
Qt提供了QPixmap、QBitmap、Qimage和QPicture等类,它们有各自的特点:
Qimage用于优化I/O操作,可以直接存取操纵像素数据,QImage使用Qt自身的绘图引擎,可提供在不同平台上相同的图像呈现效果,並可通过setPixpel()、pixel()等方法,直接存取指定的像素;
Qpixmap用于在屏幕上显示图像,可用以建立Qpainter进行绘图,您也可以直接指定图案载入Qt所支持的图像格式,例如BMP、GIF、JPG、JPEG、PNG等,使用QPainter的drawPixmap()绘制在其它的绘图裝置上。您可以在QLabel、QPushButton上设定QPixmap以显示图像;
Qbitmap从Qpixmap继承而来,只能表示两种颜色,QBitmap提供单色图像,可用于制作图标(QCursor)或画刷(QBrush)物件;
Qpicture可以记录和重放Qpainter命令的类,Qpicture是个绘图装置,您可以使用QPainter的begin()方法,指定在QPicture上进行绘图,使用end()方法結束绘图,使用QPicture的save()方法將QPainter所使用過的绘图指令存至档案。
4.4.2 数码相框的接口函数
本系统模块支持对图片的打开,显示,缩放,旋转,全屏显示,读取U盘图片,读取蓝牙共享目录的图片等,以下为相关接口函数:

图4-6  数码相框主要类及函数图

qreal scale;//定义一个图片缩放值
painter.rotate(angle);//为图片输入旋转角度
void setPixmap(QString fileName) //设置加载图像文件的方法;
{pixmap.load(fileName);filename //为从文件目录中打开的图像文件名;
 update();                    //更新显示图像;
}
void setAngle(qreal rotateAngle) //设置旋转图片时的旋转角度;
{angle += rotateAngle;           //angle为角度;
 update();
}
paintEvent(QPaintEvent *event);//绘图事件;
pixmap=pixmap.scaled(width(),height(), Qt::KeepAspectRatio);
painter.drawPixmap(0, 0, pixmap);//根据图像的缩放值scale绘制图像;
setAcceptDrops(true);dragEnterEvent();//拖曳输入显示事件;
selectDir();//选择目录文件
QString dir = QFileDialog::getExistingDirectory(this, tr("打开目"),"/mnt/yaffs/pic",QFileDialog::ShowDirsOnly|QFileDialog::DontResolveSymlinks);//打开文件,将目录文件路径赋值为dir,默认目录为/mnt/yaffs/pic
next();//显示下一幅图片,其中实现方法主要为:index++;将索引标记加一后图片窗口再刷新显示;
imageWidget->setPixmap(imageDir.absolutePath() + QDir::separator() + imageList.at(index));//显示index++后的图片
prev();//显示上一幅图片,其中index--;将索引标记减一后图片窗口再刷新显示;
 rotateLeft();//左旋转,其中imageWidget->setAngle(-90);设置角度;
rotateRight();//右旋转,其中imageWidget->setAngle(90);设置角度;
zoomIn();//放大图片;其中imageWidget->scale *= 1.25;放大值为1.25;
imageWidget->resize(imageWidget->scale * scrollArea->size());//为图片设置放大后的大小;
zoomOut();//缩小图片;imageWidget->scale *= 0.8;//0.8为缩小值;
imageWidget->resize(imageWidget->scale * scrollArea->size());//为图片设置缩小后的大小;
bluetooth();//其中imageDir.setPath("/mnt/bluetooth");设置蓝牙共享目录
QStringList filter1;filter1 <<"*.jpg" << "*.bmp" <<"*.jpeg"<<"*.png"<<"*.JPG"<<"*.JPEG"<<"*.PNG";//过滤显示图片的格式;
imageList = imageDir.entryList ( filter1, QDir::Files );//将蓝牙目录的图片文件赋值给图片列表
udiskdir();//由上面蓝牙共享目录的方法可得,设置U盘目录方法也相同,imageDir.setPath("/mnt/udisk");//设置U盘目录;此处添加多一个U盘是否挂载的判断:
if ((u_mount_status = mount ("/dev/sda1", "/mnt/udisk", "vfat", MS_RDONLY, NULL))==0||(u_mount_status = mount ("/dev/sda", "/mnt/udisk", "vfat", MS_RDONLY, NULL))==0)  // u_mount_status为U盘挂载状态,mount的参数调用在后面有详细讲解;
present();//全屏显示,其中包括:statusBar()->hide();//将状态栏隐藏;toolbar->hide();//将工具栏隐藏;showFullScreen();//全屏显示;
4.4.3 mount相关函数的使用
对于U盘来说,属于外部存储设备,要使用它是就必须对它进行挂载处理,挂载后不使用它了就必须对他进行卸载处理。挂载和卸载在linux中使用到的命令就是mount命令。在程序编写过程中,可以用mount函数来进行对外部存储设备进行挂载和卸载的处理。使用mount函数在程序编写时得写包含他的头文件,如下所示:
#include <sys/mount.h>
该头文件主要定义了两个函数,mount挂上文件系统,umount执行相反的操作。用法如下:
int mount(const char *source, const char *target,const char *filesystemtype, unsigned long mountflags, const void *data);
int umount(const char *target);

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

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

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