您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 动画播放及界面美化.
北京理工大学珠海学院计算机学院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文件已经更换了新的图标。
本文标题:动画播放及界面美化.
链接地址:https://www.777doc.com/doc-2616252 .html