最近练习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. DB proxy, mysql proxy

    db proxy 在大型互联网站的数据库部署中,部署最多的数据库为MySQL.随着MySQL中Innodb存储引擎对事物的支持,MySQL在互联网公司部署中,应用量越来越多.典型应用MySQL的公司有 ...

  2. sqlite数据库使用具体案例以及mysqlite.db数据库

    本文操作是测试数据库的其中一张表,其中包括清空sqlite数据库MyGroup表中的数据,清空sqlite数据库sqlite_sequence表中的自增变量,sqlite数据库MyGroup直接插入数 ...

  3. AudioManager: android插上耳机仍然使用扬声器播放音频

    手机音频的输出有外放(Speaker).听筒(Telephone Receiver).有线耳机(WiredHeadset).蓝牙音箱(Bluetooth A2DP)等输出设备.在平时,电话免提.插拔耳 ...

  4. Python3.7安装(解决ssl问题)

    摘自:https://blog.csdn.net/love_cjiajia/article/details/82254371 python3.7安装(解决ssl的问题) 1) 安装准备 yum -y ...

  5. Cannot start service WMSvc on computer '.'.

    批处理,管理员权限执形 taskkill /im wmsvc.exe /f net stop WMSVC net start WMSVC pause

  6. matlab-数组取值

    一起来学matlab-数组取值 觉得有用的话,欢迎一起讨论相互学习~Follow Me MATLAB中的字符串符号 :冒号 s1=['I am sad';'you are ';'interest'] ...

  7. charles安装和使用(转)

    转发链接:https://blog.csdn.net/zhangxiang_1102/article/details/77855548

  8. ABP vNext

    一.简要介绍# ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 8 月 20 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.19.0,可以尝试用于生 ...

  9. Apache JMeter 做接口并发测试

    获知来源:查找如何使用Postman进行接口并发测试时,在StackOverflow上看到,说postman只能做串行测试,而且postman并不是被设计做这种测试的:而jmeter就是为了测试而开发 ...

  10. Django重新添加字段然后迁移给定默认值依然迁移不生效

    1.将对应app下的migrations文件夹下面的除了__init__.py文件外全部删除 2.delete from django_migrations where app='当前模型的app名称 ...