首页 > 聚焦 > > 正文

Qt之界面(自定义标题栏、无边框、可移动、缩放)

2023-05-31 06:39:38 来源:QT教程

既然要画正弦波形,那就得先来了解正弦波,要绘制正弦波,其函数必须要了解。下面重拾高中知识,再一次再进正弦函数


(资料图)

正弦函数的物理意义:

y = A * sin(ωx + φ) ,A叫做振幅,T = 2π/ω叫做周期,f = 1/T = ω/2π叫做频率,ω叫角频率,ωx + φ叫做相位,x = 0时的相位φ称为初相

由y = sin(x)的图像通过变换得到y = A * sin(ωx + φ)

1.振幅变换:

y = Asin(x)的图像可以看座把正弦曲线上的所有点的纵坐标伸长(A>1)或缩短(0<ω<1)原来的A倍得到的(横坐标不变),它的值域为[-A, A],最大值是A,最小值是-A。如A<0可先作y = -Asin(x)的图像,再以x轴为对称轴翻折。A称为振幅

2.周期变换:

y = sin(ωx)的图像,可看作把正弦曲线上的所有点的横坐标缩短(ω>1)或伸长(0<ω<1)到原来的1/ω倍(纵坐标不变)。若ω<0则可用诱导公式将符号“提出”再作图。ω决定了函数的周期

3.相位变换:

y = sin(x + φ)的图像,可以看作把正弦曲线上所有点向左(当φ>0时)或向右(当φ<0时)平行移动|φ|个单位长度而得到。(即左加右减)

一般的,函数y = A * sin(ωx + φ)的图像可以看作是用下面的方法得到的:

(1)先把y = sin(x)的图像上所有的点向左(φ>0)或向右(φ<0)平行移动|φ|个单位

(2)再把所得的点的横坐标缩短(ω>1)或伸长(0<ω<1)到原来的1/ω倍(纵坐标不变)

(3)再把所得的各点的纵坐标伸长(A>1)或缩短(0

了解了正弦函数的物理意义之后,就可以开始结合我们的场景进行画图

首先qt画图的坐标系是x向右,y向下为正方向,假设屏幕就显示一个周期,即2π/ω = 屏幕的宽,振幅A可自行定义选择,通过改变相位φ的值实现左右移动的动画效果,这样就能以像素为单位的一个正弦图,函数为y = A * sin(ωx + φ),x和y的单位为像素,把整个图像向下移动就得到y = A * sin(ωx + φ) + k;

有了函数图像就可以画图了

以一个周期为例,以屏幕的宽的像素为x值,遍历从0->屏幕的宽,就可以得到对应的y的坐标,把所得的y的坐标画线连起来,就得到对应的图形。动画效果就是不断按顺序改变相位φ就能得到连续变化的正弦图。

这就是整个绘制正弦图的原理。

下面看代码:

void WavePlotAnimal::initUi(){m_pTimer = new QTimer(this);m_pTimer->setInterval(160);connect(m_pTimer, &QTimer::timeout, this, &WavePlotAnimal::onTimeout);QPushButton *startBtn = new QPushButton(this);connect(startBtn, &QPushButton::clicked, this, [=](){m_pTimer->start();});}void WavePlotAnimal::paintEvent(QPaintEvent *event){QPainter painter(this);(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);(QColor("#87CEFA"));(Qt::NoPen);(this->rect());// (QRect(0, 0, this->width(), 768), m_bg);// (QRect(width()/2 - 111, 270, 222, 164), m_logoBg);// (QRect(width()/2 - 119, 447, 237, 81), m_nameBg);//起始点坐标和结束点坐标int startX = 0;// int startY = 300;int endX = width() - 0;int endY = height() - 0;//第一条波浪路径集合QPainterPath waterPath1;//第二条波浪路径集合QPainterPath waterPath2;//第三条波浪路径集合QPainterPath waterPath3;QPainterPath waterPath4;//移动到左上角起始点(startX, endY);(startX, endY);(startX, endY);(startX, endY);//正弦曲线公式 y = A * qSin(ωx + φ) + k//A表示振幅,可以理解为水波的高度//k表示y轴偏移,控制在垂直方向显示的位置//φ控制x轴偏移,通过定时器控制实现动画效果//w表示周期,可以理解为水波的密度,值越大密度越大(浪越密集 ^_^),取值 密度*M_PI/宽度double w = Density*M_PI/this->width();offset += ;for(int i = 0; i <= this->width(); i++){double y1 = (double)(50 * sin(-w * i + offset)) + 718;double y2 = (double)(60 * sin(-w * i + offset + 200*w)) + 688;double y3 = (double)(60 * sin(-w/2*i + offset + 400*w)) + 728;double y4 = (double)(60 * sin(-w * i + offset - 300*w)) + 708;(i, y1);(i, y2);(i, y3);(i, y4);}//形成闭合路径(endX, endY);(endX, endY);(endX, endY);(endX, endY);//颜色及透明度设置QColor waterColor1 = Qt::white;(255);QColor waterColor2 = QColor("#7cc4c9");(85);QColor waterColor3 = QColor("#1c8584");(150);QColor waterColor4 = QColor("#d4fdd8");(70);//绘制(waterColor2);(waterPath2);(waterColor3);(waterPath3);(waterColor4);(waterPath4);(waterColor1);(waterPath1);QWidget::paintEvent(event);}void WavePlotAnimal::onTimeout(){update();}

【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】

点击这里:

标签:

Qt之界面(自定义标题栏、无边框、可移动、缩放)

既然要画正弦波形,那就得先来了解正弦波,要绘制正弦波,其函数必须要了解。下面重拾高中知识,再一次再进

2023-05-31 06:39:38

微信收藏语音怎么转发给别人(微信收藏语音怎么转发)_全球快讯

小常来为大家解答以上问题。微信收藏语音怎么转发给别人,微信收藏语音怎么转发很多人还不知道,现在让我们

2023-05-31 06:22:58

神舟十六号3名航天员顺利进驻中国空间站 全球快资讯

翘盼已久的神舟十五号航天员乘组顺利打开"家门",欢迎远道而来的神舟十六号航天员乘组入驻"天宫"。...

2023-05-31 06:06:52

拟步甲总科(拟步甲)-速看

来为大家解答以下的问题,步甲总科,拟步甲这个很多人还不知道,现在让我们一起来看看吧!1、本科昆虫多夜间

2023-05-31 05:24:27

内科医生个人述职报告_内科医生简介

1、朱彦琪,女,副主任医师,擅长心内科常见病,冠心病,心衰等。2、毕业于复旦大学,获医学博士学位。3、

2023-05-31 04:32:56

世界信息:明日之后钓鱼竿怎么做_明日之后钓鱼

1、准备道具:钓鱼竿和鱼饵(完成钓鱼任务会给)。2、步骤:去快乐101接取营地任务“来啊,钓鱼啊!”,...

2023-05-31 03:41:08

环球快消息!高途2023年第一季度营收7.1亿元 业务转型以来单季度净利润率最高

21世纪经济报道记者王峰北京报道5月30日,在线直播大班培训机构高途(NYSE:GOTU)发布2023财年第一季度财务

2023-05-31 02:40:39

女孩子好听又高雅小名_姓萧的古风女孩小名

1、萧纭馨,萧苎莺,萧玉纤。2、萧艺暖,萧雪诺,萧锦絮。3、萧盈袖,萧音缈,萧珣。4、萧雅晴,萧瑶,萧瑶

2023-05-31 01:46:45

@高校学子 重庆高新区将提供1.3万个就业岗位和2000个见习岗位

高校学生就业福利来了!5月30日,“两城汇”高校毕业生就创季活动在西部科学城重庆高新区正式启动,今年...

2023-05-30 23:48:17

巴西、委内瑞拉两国总统谴责美国对委非法制裁

当地时间29日,巴西总统卢拉会见到访的委内瑞拉总统马杜罗。在会后的新闻发布会上,双方均表示,美国对委内

2023-05-30 23:00:16

【全球速看料】冀东装备:公司研制的煤立磨可应用于水泥、电力等行业的煤粉制备环节

有投资者在投资者互动平台提问:公司电力设备产品有哪些,是否可以应用于核电领域冀东装备(000856 SZ)5月

2023-05-30 22:22:01

村民报警称8000元现金“被盗”,民警到场后从衣柜里找出!_世界热头条

极目新闻记者周萍英通讯员欧阳智慧舒萍5月30日上午10时许,湖北省保康县马桥镇村民胡女士报警称,其父存放

2023-05-30 21:18:32

马琳称会帮王曼昱找回状态,皇马官方祝贺樊振东夺冠 全球快消息

德班世乒赛的总决赛已于5月28日全部结束,女单冠军由孙颖莎最终摘取,男单冠军由樊振东卫冕,国乒最终是包

2023-05-30 21:15:34

天天视点!园区圆才网招聘信息_园区圆才网

1、制作好自己的简历后。2、在园区圆才网上注册。3、注册了后直接投递简历就好了。本文到此分享完毕,希望

2023-05-30 20:44:29

环球快报:三大指数反弹翻红,脑机接口概念大涨,机构建议再耐心一点

今日共40股涨停,连板股总数10只,16股封板未遂,封板率为71%(不含ST股、退市股及未开板新股)。盘面上,A

2023-05-30 20:28:32

二胡什么牌子好点(二胡什么牌子好)

今天小编岚岚来为大家解答以上的问题。二胡什么牌子好点,二胡什么牌子好相信很多小伙伴还不知道,现在让我

2023-05-30 20:00:23

2023浙江服务贸易(上海)数字文旅展隆重开幕

5月29日上午,2023浙江服务贸易(上海)数字文旅展在上海国家会展中心隆重开幕。据了解,本次展会依托上海

2023-05-30 19:48:40

沸沸扬扬 与 纷纷扬扬 的区别(沸沸扬扬与纷纷扬扬的区别)

想必现在有很多小伙伴对于沸沸扬扬与纷纷扬扬的区别方面的知识都比较想要了解,那么今天小好小编就为大家收

2023-05-30 19:13:02

微信小视频怎么导出来(微信小视频怎么导出)|每日视讯

来为大家解答以上问题,微信小视频怎么导出来,微信小视频怎么导出很多人还不知道,现在让我们一起来看看吧

2023-05-30 19:05:45

西安市红会医院成功开展首例经后腹腔镜下肾囊肿去顶减压术 今日快讯

5月25日,西安市红会医院泌尿外科成功完成首例“经后腹腔镜下肾囊肿去顶减压术”,该项手术的成功开展,...

2023-05-30 19:02:11

上元节中元节和下元节的来历_上元节中元节

今天小编肥嘟来为大家解答以上的问题。上元节中元节和下元节的来历,上元节中元节相信很多小伙伴还不知道,

2023-05-30 18:37:01

毛方园:大胆做科研 对自己不设限

毛方园是中国科学院古脊椎动物与古人类研究所的一名研究员,从事古生物学中的早期哺乳动物研究。同时,她也

2023-05-30 18:08:43

hpcq45笔记本参数(hpcq45)_世界百事通

来为大家解答以上问题,hpcq45笔记本参数,hpcq45很多人还不知道,现在让我们一起来看看吧!1、惠普cq45笔记本

2023-05-30 17:42:59

深圳南山区红花岭工业南区旧改规划公示 建面超72万平米

观点网讯:近日,深圳市南山区城市更新和土地整备局发布关于桃源街道红花岭工业南区更新单元(暂定名)03-0

2023-05-30 17:42:38

全球热资讯!如何修剪垂枝豌豆树的说明_男生送女生什么生日礼物最好有男朋友的

你需要的东西修枝剪修枝锯用酒精擦拭您的设备,以保护树木免受疾病侵害。垂豌豆树,也被称为西伯利亚豌豆灌

2023-05-30 17:29:29

今年第10号台风海神生成(台风海神 2015年第5号热带风暴)

日元重新跌穿140背后的逻辑是啥?这次与去年有何不同

当前简讯:我国首个万米深地科探井开钻

神舟十六号载人飞船发射取得圆满成功 中国空间站全面建成后首次载人飞行任务开启

环球关注:佛山顺德高新区推出47亩全年期自持租赁住房用地 起价1.41亿元

华谊B股(900909)5月30日游资资金净卖出4.71万元

巴西对华汽车玻璃发起反规避调查

欧科亿董秘回复: 公司投资者电话0731-22673968有专人接听,如果您没有能够正常交流_世界信息

【全球热闻】官方:切尔西宣布波切蒂诺成为新帅 双方签约2年

“文化和旅游研究基地”最新名单公布 河南省一所高校入选-全球即时看

问天阁前的祝福

环球热议:海洋噪声:不容忽视的无形“杀手”

前沿热点:芯源微:5月29日获融资买入4095.52万元,占当日流入资金比例12.29%

马斯克:中国航天比多数人想象得强大|实时焦点

世界要闻:冰夷神龙图片 冰夷

莱芜区鹏泉街道举办文化进万家文艺晚会|天天消息

穆阿迈尔·卡扎菲_奥马尔 穆阿迈尔 卡扎菲

怎样做网站推广排名_怎样做网站推广|全球通讯

今日视点:湖南长沙与香港旅游业界举办恳谈会,共商文旅复苏之策

刀剑封魔录宝石合成详细攻略_刀剑封魔录宝石合成

全球资讯:美国8月非农就业人数增加31.5万人

【天天聚看点】*ST搜特:公司股票及可转债将被终止上市

永兴县油麻镇开展敬老院消防安全应急演练活动|环球新视野

当前速看:经纬股份:公司负荷预测、需求响应、能源系统的调度方法等方面的专利技术可以在用电高峰发挥负荷调节的作用

朗玛信息收深交所关注函,要求说明其自研医疗AI产品的具体内容等

x 广告
x 广告

Copyright @  2015-2022 华东家电网版权所有  备案号: 京ICP备2022016840号-41   联系邮箱:2 913 236 @qq.com