动画播放及界面美化.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

北京理工大学珠海学院计算机学院1/21第三讲动画播放及界面美化北京理工大学珠海学院计算机学院2/21课程目标北京理工大学珠海学院计算机学院3/21本节目标北京理工大学珠海学院计算机学院4/21准备工作添加新的资源文件北京理工大学珠海学院计算机学院5/213.1设置隐藏标题栏//设置标题栏隐藏this-setWindowFlags(Qt::FramelessWindowHint);北京理工大学珠海学院计算机学院6/213.2设置边框圆角//设置窗体圆角QPainterPathpath;QRectFrect=QRectF(0,0,400,600);path.addRoundRect(rect,3,3);QPolygonpolygon=path.toFillPolygon().toPolygon();//获得这个路径上的所有的点QRegionregion(polygon);//根据这些点构造这个区域setMask(region);北京理工大学珠海学院计算机学院7/213.2设置边框圆角改进后://设置窗体圆角QPainterPathpath;QRectFrect=QRectF(0,0,this-width(),this-height());path.addRoundRect(rect,3,3);QPolygonpolygon=path.toFillPolygon().toPolygon();//获得这个路径上的所有的点QRegionregion(polygon);//根据这些点构造这个区域setMask(region);此段代码也有隐藏标题栏的作用!北京理工大学珠海学院计算机学院8/213.3添加图标及效果添加左下角的单用户登录按钮添加右下角的二维码登录按钮添加右上角的关闭、最小化、设置按钮关闭按钮事件响应:this-close();鼠标在按钮上会改变效果toolButton-icon-Activeoff-hover图标北京理工大学珠海学院计算机学院9/213.4ToolButton背景透明方式1代码实现:ui-toolButton-setStyleSheet(QToolButton{background-color:transparent;});//设置背景透明方式2UI上设置属性:属性-QWidget-styleSheet中添加如下语句background:transparent;北京理工大学珠海学院计算机学院10/21附:PushButton加载图片改进前:QPixmapmypixmap;mypixmap.load(res/seticon.png);ui-pushButton_2-setIcon(mypixmap);改进后:QPixmapmypixmap;mypixmap.load(res/seticon.png);ui-pushButton_2-setFixedSize(mypixmap.width(),mypixmap.height());ui-pushButton_2-setIcon(mypixmap);北京理工大学珠海学院计算机学院11/21附PushButton背景透明代码:ui-pushButton_2-setFlat(true);详见:北京理工大学珠海学院计算机学院12/21附PushButton背景透明ui-pushButton_2-setFlat(true);//设置扁平ui-pushButton-setStyleSheet(QPushButton{background-color:transparent;});//设置背景透明//ui-comboBox-setStyleSheet(QComboBox{background-color:rgba(0,0,0,0)});//也可以按钮点击后会出现虚框!北京理工大学珠海学院计算机学院13/21附:PushButton背景透明改进后的代码:ui-pushButton_2-setFlat(true);//设置扁平ui-pushButton-setStyleSheet(QPushButton{background-color:transparent;});//设置背景透明ui-pushButton_2-setFocusPolicy(Qt::NoFocus);//隐藏虚框北京理工大学珠海学院计算机学院14/213.5动画播放(1)QAxWidget*flash=newQAxWidget(this);flash-resize(380,150);//flash-setStyleSheet(QAxWidget{background-color:transparent;});//设置背景透明//flash-dynamicCall(WMode,transparent);flash-setControl(QString::fromUtf8({d27cdb6e-ae6d-11cf-96b8-444553540000}));//设定控制器//flash-dynamicCall(LoadMovie(long,string),0,Resources/LoginUI/background/afternoon.swf);//调用方法flash-dynamicCall(LoadMovie(long,string),0,E:/qt2014/QQ2013-1/Resources/LoginUI/background/afternoon.swf);//调用方法flash-setWindowFlags(Qt::FramelessWindowHint);//去除边框flash-show();核心代码如下:北京理工大学珠海学院计算机学院15/213.5动画播放(2)1、根据提示的错误修改得知需要添加:#includeQAxWidget2、提示QAxWidget无法找到解决方法:在pro文件中添加以下语句:QT+=axcontainer北京理工大学珠海学院计算机学院16/213.5动画播放(3)问题1:右上角三个按钮不见了?解决方法:ui-toolButton_3-setParent(flash);北京理工大学珠海学院计算机学院17/213.5动画播放(4)问题2:右上角三个按钮初步美化?解决方法:1、按钮大小要固定,其值为图片的大小2、设置无边缘属性-QWidget-styleSheet中添加如下语句border:none;北京理工大学珠海学院计算机学院18/21附:动态图的加载动态图gif是显示在label控件里面:QMovie*move=newQMovie(:/images/splash.gif);ui-label-setGeometry(510,300,450,100);label-setMovie(move);move-start();label-setWindowFlags(Qt::FramelessWindowHint);//隐藏边框北京理工大学珠海学院计算机学院19/213.6设置应用程序图标第一步,创建.ico文件。将ico图标文件复制到工程文件夹中,重命名为“QQ.ico”。然后在该目录中右击,新建文本文档,并输入一行代码:IDI_ICON1ICONDISCARDABLEQQ.ico然后选择“文件→另存为”菜单项,将该文件命名为myico.rc(注意文件后缀为.rc),然后单击“保存”。完成后可以将以前的“新建文本文档”删除。北京理工大学珠海学院计算机学院20/21第二步,修改项目文件。在QtCreator中的编辑模式双击QQ.pro文件,在最后面添加下面一行代码:RC_FILE+=myico.rc北京理工大学珠海学院计算机学院21/21第三步,运行程序。可以看到窗口的左上角的图标已经更换了。然后查看一下release或者debug文件夹中的文件,可以看到现在exe文件已经更换了新的图标。

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功