用Qt 画一个心形
MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QTimer> class MainWindow : public QMainWindow
{
Q_OBJECT public:
MainWindow(QWidget *parent = );
~MainWindow(); void timerEvent(QTimerEvent *);
void paintEvent(QPaintEvent *event); private:
int m_x,m_y;
int m_k;
float m_t;
}; #endif // MAINWINDOW_H
MainWindow.cpp
#include "mainwindow.h"
#include <QDebug>
#include <math.h>
#include <QPainter> MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->setFixedSize(,);
m_k = ;
m_t = ;
startTimer(); } MainWindow::~MainWindow()
{ } void MainWindow::timerEvent(QTimerEvent *)
{
qDebug() << "timer event " << m_t;
if (m_t > )
{
update();
m_t = ;
}
m_x = * m_k * sin(m_k*m_t)*sin(m_k*m_t)*sin(m_k*m_t);
m_y = * m_k * cos(m_k*m_t) - * m_k * cos( * m_k * m_t) - * m_k * cos( * m_k * m_t) - cos( * m_k * m_t);
m_x += this->width() / ;
m_y -= this->height() / ;
m_y *= -;
update(m_x,m_y,,); m_t += 0.1;
} #if 1
void MainWindow::paintEvent(QPaintEvent *event)
{
qDebug() << "paintEvent " << m_x << " " << m_y;
QPainter painter(this);
painter.setPen(Qt::red);
painter.drawPoint(m_x, m_y);
}
#else
void MainWindow::paintEvent(QPaintEvent *event)
{
double k = ;
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
QColor my_color(, , , );
QBrush my_brush(my_color);
painter.setPen(Qt::red);
/*painter.setBrush(my_brush);*/
painter.translate(this->width()/, this->height()/);
QPainterPath polygonPath;
polygonPath.setFillRule(Qt::WindingFill);
float x = * k * sin(0.0)*sin(0.0)*sin(0.0);
float y = * k * cos(0.0) - * k*cos(0.0) - * k*cos(0.0) - cos(0.0);
polygonPath.moveTo(x, -y);
for (double t = 0.01; t < ; t += 0.05)
{
x = * k * sin(k*t)*sin(k*t)*sin(k*t);
y = * k * cos(k*t) - * k * cos( * k * t) - * k * cos( * k * t) - cos( * k * t);
polygonPath.lineTo(x, -y);
#if 0
painter.drawPoint(x,-y);
painter.drawLine(,,x,-y);
painter.drawLine(,,x+,-y);
#endif
}
painter.drawPath(polygonPath);
}
#endif
用Qt 画一个心形的更多相关文章
- 【Python】画一个心形
#!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 画心形圆弧 def hart_arc(): for i ...
- 用C语言画一个心
用C语言图形库画一个心 --环家伟 这次我教大家用代码画一个心,这样你们就可以送给你们的女(男)朋友了.没找到对象的也可以用来表白啊. 1.首先,我去百度找了心形线的函数,如下: 2. 联系高中的数 ...
- python画出心形图
程序员表达爱的方式真是多种多样.比如,用python来画一个心型,献给梦中的情人,代码如下: from turtle import * pensize(1) pencolor('red') fillc ...
- CSS 画一个心
效果图: 实现原理: 可以把这个心分为两部分,两个长方形,分别设置 border-radius,transform: rotate() . 设置属性之后 再次添加一个,设置相反的 rotate 设置其 ...
- 画一个心送给心爱的小姐姐,Python绘图库Turtle
Python绘图库Turtle Turtle介绍 Turtle是Python内嵌的绘制线.圆以及其他形状(包括文本)的图形模块. 一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对 ...
- python小趣味_520绘制一个心形.
从某个公众号上看到的. 跑了一下, 居然可以成功运行. 有心的话可以研究下代码. 利用了turtle模块 #!/usr/bin/env python # coding:utf-8 import tur ...
- Android中利用画图类和线程画出闪烁的心形
本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: <ig ...
- CSS3制作心形头像
1.功能需求: 最近有一个基于微信开发的Mobile Web项目,是一个活动页面.功能需求:用户使用微信扫描二维码,然后授权使用微信登录,然后读取用户的昵称和头像,然后显示在一个饼图上面.头像需要有一 ...
- CorelDRAW快速制作绚丽的彩色透明心形
今天小编分享给小伙伴们用CorelDRAW打造绚丽的彩色透明心形.主要使用完美形状组中的心形造型制作出心形图案,经过对图形的模糊操作,再经过图框精确剪裁,最后添加一个彩虹渐变色实现绚丽的彩色透明效果. ...
随机推荐
- 数据分析之--Mataplotlib入门
目录 Mataplotlib Seaborn 绘制线性图 图片的标题 点和线的样式 X和Y轴可读的映射 直方图 柱状图 条件性柱状图 饼图 箱图 散步图 3D图 Excel数据导入数据库 Matapl ...
- 笔记-10:处理时间的标准库-time库
1.time库介绍 主要用来处理时间的标准库. time库提供了系统级精确计时器的计时功能,可以用来分析程序性能,也可让程序暂停运行时间. time库的功能主要分为:时间处理.时间格式化.计时. 2. ...
- MongoDB 聚合函数及排序
聚合函数 最大值 $max db.mycol.aggregate([{$group : {_id : "$by_user", num_max : {$max: "$li ...
- keras损失函数详解
以下信息均来自官网 ------------------------------------------------------------------------------------------ ...
- go map的定义和使用 键值对存储
定义map var m map[string]int //定义map 初始化map m = make(map[string]int) //初始化map 修改map中ok 的值 m[&qu ...
- S03_CH08_DMA_LWIP以太网传输
S03_CH08_DMA_LWIP以太网传输 8.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程 ...
- LaTeX技巧96:LaTeX 图片控制命令,位置控制
LaTeX技巧96:LaTeX 图片控制命令,位置控制 2012-04-05 17:25:44 zd0303 阅读数 28512更多 分类专栏: Latex LaTeX 控制图片的位置,就是加感叹 ...
- Effective Java 读书笔记(三):类与接口
1 最小化类和成员的可访问性 (1)封装 封装对组成系统的组件进行解耦,从而允许这些组件独立开发,测试,优化,使用,理解和修改. 封装提高了软件的复用性,因为组件间的耦合度低使得它们不仅在开发环境,而 ...
- 奇妙的算法【10】TX--有效号码、最,小耗时、最小差值、差值输出、异或结果
昨晚刚刚写的几道算法题,难度也还行,就是全部AC有些困难,当时第一题AC.第二题AC 60%,第四题AC 40%,第五题没有时间写完了,这个应该全部AC了:其中第三题没有写出来 1,是否存在符合规范的 ...
- SQL 遍历删除所有表的数据
https://www.cnblogs.com/yige/p/5193253.html declare @sqlTabName varchar(100);-- 声明游标DECLARE C_Employ ...