最近练习Qt,需要一个飞机在屏幕上画五边形。虽然达到的效果不是非常的理想,但是勉强还是达到了效果,欢迎大家指正。用到的飞机图片如下。

第一步:初始化,在构造函数里面,把图片向左旋转18°

// 向左旋转18°
matrix.rotate(-);
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));

第二步:在定时器里面执行如下代码

switch(flag)
{
case :
{
if (num == )
{
num = ;
flag = ;
matrix.rotate();
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));
}
int x = ui.label->x() - ;
int y = ui.label->y() - ;
ui.label->move(x, y);
num++;
break;
}
case :
{
if (num == )
{
num = ;
flag = ;
matrix.rotate();
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));
}
int x = ui.label->x() + ;
int y = ui.label->y() - ;
ui.label->move(x, y);
num++;
break;
}
case :
{
if (num == )
{
num = ;
flag = ;
matrix.rotate();
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));
}
int x = ui.label->x() + ;
int y = ui.label->y() + ;
ui.label->move(x, y);
num++;
break;
}
case :
{
if (num == )
{
num = ;
flag = ;
matrix.rotate();
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));
}
int x = ui.label->x() - ;
int y = ui.label->y() + ;
ui.label->move(x, y);
num++;
break;
}
case :
{
if (num == )
{
num = ;
flag = ;
matrix.rotate();
ui.label->setPixmap(QPixmap("C:\\Users\\Administrator.USER-20190313RI\\Desktop\\img\\life.png").transformed(matrix, Qt::SmoothTransformation));
}
int x = ui.label->x() - ;
int y = ui.label->y();
ui.label->move(x, y);
num++;
break;
}
default:
{
break;
}
}

Qt 利用飞机图片画五边形的更多相关文章

  1. Android 实现图片画画板

    本文主要讲述了Android 实现图片画画板 设计项目布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk ...

  2. Qt中在图片上叠加显示文字

    Qt中在图片上叠加显示文字   QCustLabel::QCustLabel(QWidget *parent):QLabel(parent){ setPixmap(QPixmap(QString::f ...

  3. 【CSS学习笔记】初始化CSS后,写li,并利用背景图片,来完成li小图标的效果,且达到个浏览器兼容

    第一种情况 /*当标题前的图标时单独的一个点儿或者方块或者其他类似图标时,定义背景图background要放在<li>里.    在<li>中设置背景图片的尺寸,地址,不重复, ...

  4. WebGl 利用缓冲区对象画多个点

    效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. Qt Socket 收发图片——图像拆包、组包、粘包处理

    之前给大家分享了一个使用python发图片数据.Qt server接收图片的Demo.之前的Demo用于传输小字节的图片是可以的,但如果是传输大的图片,使用socket无法一次完成发送该怎么办呢?本次 ...

  6. 把图片画到画布上,适应PC和移动端

    画一张图片到画布上 <canvas id="myCanvas" width="1000px" height="200px" >您 ...

  7. qt利用QT designer构建第一个界面helloworld工程

    qt利用QT designer构建第一个界面helloworld工程原创ZJE_ANDY 发布于2017-04-07 20:25:28 阅读数 6613 收藏展开第一步:点击New Project 第 ...

  8. qt 利用 HTML 生成PDF文档,不能显示jpg图片

    利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...

  9. qt 在指定区域添加图片

    博客出处:http://www.devdiv.com/thread-39111-1-1.html 折腾了几天,终于实现了图片的淡出淡入的效果. 其实也应该是说实现了图片的淡入效果,因为淡出效果我暂时还 ...

随机推荐

  1. 浅谈SOA面向服务化编程架构(dubbo)

      dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...

  2. 系统重装之认识UEFI

    UEFI是一种新型的引导方式?他与传统的BIOS引导不同,传统BIOS引导需要经过(开机→BIOS初始化→BIOS自检→引导系统→进入系统)五个步骤来完成引导操作,UEFI只需要(开机→UEFI初始化 ...

  3. EasyNVS摄像机公网全终端无插件网页摄像机直播管理服务运行出现“请求服务不存在或已停止”

    背景分析 了解我们产品线的小伙伴都知道,EasyNVR产品主要用于互联网安防直播,通过EasyNVR拉取摄像机的RTSP视频流,客户端通过访问EasyNVR服务端就可以实现音视频流分发.在此情况下会出 ...

  4. 改进初学者的PID-测量的比例介绍

    最近看到了Brett Beauregard发表的有关PID的系列文章,感觉对于理解PID算法很有帮助,于是将系列文章翻译过来!在自我提高的过程中,也希望对同道中人有所帮助.作者Brett Beaure ...

  5. [LeetCode] 231. Power of Two 2的次方数

    Given an integer, write a function to determine if it is a power of two. Example 1: Input: 1 Output: ...

  6. 根据本地/服务器时间获取指定时区时间 new Date指定时区时间

    1.代码 function getTimeByTimeZone(timeZone){ var d=new Date(); localTime = d.getTime(), localOffset=d. ...

  7. jira中使用eazyBI

    参考:https://docs.eazybi.com/eazybijira/set-up-and-administer/set-up-and-administer-for-jira-server/in ...

  8. Synchronized实现原理及和Lock的区别

    Synchronized 无锁,偏向锁,轻量级锁 ,重量级锁 偏向锁:对象头存储线程ID,可重入(根据线程ID判断) 轻量级锁:复制对象头到Lock Record 记录锁信息,拥有锁 复制的Lock ...

  9. [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用

    [MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...

  10. JVM之java并发 ——线程安全与锁优化

    概述 人们很难想象现实中的对象在一项工作进行期间,会被不停地中断和切换,对象的属性(数据)可能会在中断期间被修改和变“脏”,而这些事情在计算机世界中则是很正常的事情.有时候,良好的设计原则不得不向现实 ...