Qt+C++基本绘图(画线,画圆,矩形, 撤销,重做)

news/2024/12/5 12:52:43/

 程序示例精选

Qt+C++基本绘图(画线,圆,矩形画线)

如需安装运行环境或远程调试,见文章底部微信名片,由专业技术人员远程协助!

前言

这篇博客针对《Qt+C++基本绘图(画线,画圆,矩形, 撤销,重做)》编写代码,功能包括了画线,画圆,矩形, 撤销,重做。代码整洁,规则,易读。应用推荐首选。


文章目录

        一、所需工具软件

        二、使用步骤

                1. 引入库

                2. 画线

                3. 画圆

                  4.  矩形

                5. 运行结果

         三在线协助


一、所需工具软件

          1. Visual Studio

          2. Qt

二、使用步骤

1.引入库

代码如下(示例):

#include <QtCore>
#include <QtOpenGL>
#include <vector>
#include <queue>

2.画线

代码如下(示例):

void MyQtOpenglWidget::DrawLine(QVector2D pre, QVector2D current)
{/*makeCurrent();*/glColor3f(0.0f, 1.0f, 1.0f);glBegin(GL_LINES);glVertex2f(current.x(), current.y());glEnd();}

3.画圆:

代码如下(示例):

{glColor3f(0.0f, 1.0f, 1.0f);auto vec = current - pre;float R=vec.length() / 2;auto tempvec = vec * 0.5;auto newcenter = pre + tempvec;for (int i = 0; i < n; i++)    {glVertex2f(,newcenter.y()+ R*sin(2 * PI*i / n));}glEnd();glFlush();}

4.矩形: 

{update();glColor3f(0.0f, 1.0f, 1.0f);glRectf(pre.x(), pre.y(), current.x(), current.y());//glRectf(-0.8, -0.8, 0.8, 0.8);glFlush();}

5.运行结果如下: 

三、在线协助: 

如需安装运行环境或远程调试,见文章底部微信名片,由专业技术人员远程协助!


http://www.ppmy.cn/news/5141.html

相关文章

惠普Elite蜻笔记本系统损坏怎么U盘重装教学

惠普Elite蜻笔记本系统损坏怎么U盘重装教学&#xff0c;有用户使用的惠普Elite蜻笔记本系统受到了其他恶意程序的损坏&#xff0c;导致无法正常的开启使用。所以想要去进行电脑系统的重装。那么如何U盘重装电脑系统&#xff0c;一起来看看详细的重装步骤吧。 准备工作&#xff…

【Ctfer训练计划】——(二)

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

[第十三届蓝桥杯/java/算法]A——排列字母

&#x1f9d1;‍&#x1f393;个人介绍&#xff1a;大二软件生&#xff0c;现学JAVA、Linux、MySQL、算法 &#x1f4bb;博客主页&#xff1a;渡过晚枫渡过晚枫 &#x1f453;系列专栏&#xff1a;[编程神域 C语言]&#xff0c;[java/初学者]&#xff0c;[蓝桥杯] &#x1f4d6…

MySQL中这14个有用的小知识,快学起来吧

前言 我最近用MYSQL数据库挺多的&#xff0c;发现了一些非常有用的小玩意&#xff0c;今天拿出来分享到大家&#xff0c;希望对你会有所帮助。 1.group_concat 在我们平常的工作中&#xff0c;使用group by进行分组的场景&#xff0c;是非常多的。 比如想统计出用户表中&…

ContentProvider的介绍和使用

文章目录ContentProviderContentProvider简介运行时权限Android权限机制详解在程序运行时申请权限访问其他程序当中数据ContentResolver的基本用法读取系统联系人信息创建自己的ContentProvider创建ContentProvider的步骤实现跨程序数据共享ContentProvider 如果我们想要实现跨…

使用 CNN 检测一个人是否戴了口罩

在本文中&#xff0c;我们将使用 CNN &#xff08;卷积神经网络&#xff09;和机器学习分类器创建一个检测一个人是否戴着口罩的分类器。它将检测一个人是否戴着口罩。 我们将从头开始学习&#xff0c;我将对每一步进行解释。我需要你对机器学习和数据科学有基本的了解。我已经…

mysql实时监控工具mytop

mysql实时监控工具mytop mytop类似于linux top工具&#xff0c;可以实时监控mysql服务器的性能信息。 安装依赖 yum install -y perl-CPAN# cpan # cpan > install DBI # cpan > install Term::ReadKey # cpan > install DBD::mysql # cpan > exit安装“install…

C/C++程序的断点调试 - Microsoft Visual Studio

本文以Microsoft Visual Studio为例&#xff0c;简述C/C程序断点调试的基本方法和过程。其它的IDE环境&#xff0c;大同小异。 本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载&#xff0c;但需要注明原作者"海洋饼干叔 叔"&#xff…