HTML5实现倒三角,鼠标移入旋转三角

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 250px;
            height: 30px;
            border: 1px solid red;
            position: relative;
        }
        
        div::after {
            content: "";
            width: 10px;
            height: 10px;
            position: absolute;
            top: 5px;
            right: 5px;
            border-right: 1px solid aqua;
            border-bottom: 1px solid aqua;
            transform: rotate(45deg);
            transition: all .2s;
        }
        /* 鼠标经过div 里面的三角旋转 :原来是45,现在要旋转180,所以总的度数是两者之和” */
        
        div:hover::after {
            transform: rotate(225deg);
        }
    </style>
</head>

<body>
    <div>

    </div>
</body>

</html>

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt是一个开发桌面和移动应用程序的跨平台C++框架,它提供了丰富的图形绘制和交互功能。 要实现鼠标旋转三角形,我们可以使用Qt中的绘图类和鼠标事件类。 首先, 在Qt中创建一个继承自QOpenGLWidget的自定义小部件类。在其中重写paintGL()函数来绘制一个三角形(使用OpenGL的绘制函数)。 在鼠标事件中,我们需要重写鼠标按下、鼠标移动和鼠标松开事件。当鼠标按下时,我们需要存储鼠标坐标。当鼠标移动时,我们需要计算鼠标移动的偏移量,并利用偏移量来旋转三角形。当鼠标松开时,我们需要清除存储的鼠标坐标。 具体的步骤如下: 1. 创建一个自定义的QOpenGLWidget类,重写paintGL()函数用于绘制三角形。 2. 在类的构造函数中设置鼠标追踪功能,以便能够捕获鼠标移动事件。 3. 在类中添加成员变量用于存储鼠标按下时的坐标(例如lastPos)。 4. 重写鼠标按下事件,并将当前鼠标坐标保存到lastPos中。 5. 重写鼠标移动事件,并计算当前鼠标位置与lastPos之间的偏移量(例如delta)。 6. 在paintGL()函数中获取delta,并使用OpenGL的旋转函数来旋转三角形。 7. 重写鼠标松开事件,并清除lastPos的值。 通过以上步骤,我们可以在Qt中实现一个可鼠标旋转三角形。当鼠标按下并移动时,三角形会根据鼠标的移动方向进行旋转。 ### 回答2: 要实现用Qt来实现鼠标旋转三角形,我们可以按照以下步骤进行: 1. 创建一个Qt应用程序窗口。 2. 在窗口中,创建一个QOpenGLWidget作为绘图区域,并将其设置为全屏。 3. 在QOpenGLWidget中,重写initializeGL()、resizeGL()和paintGL()函数。 4. 在initializeGL()函数中,进行OpenGL的初始化工作,包括设置清屏颜色、启用深度测试等。 5. 在resizeGL()函数中,根据窗口的大小重新设置OpenGL的视口。 6. 在paintGL()函数中,进行具体的绘图操作。首先,使用OpenGL的函数来清屏。然后,使用glRotatef()函数来进行三角形的旋转操作。 7. 在QOpenGLWidget中,重写mouseMoveEvent()函数,获取鼠标的移动事件。根据鼠标的移动距离,更新三角形的旋转角度,并通过update()函数刷新窗口。 8. 在主窗口中,创建一个QHBoxLayout,并将QOpenGLWidget添加到其中。将该布局设置为窗口的主布局。 9. 运行程序,通过鼠标移动来旋转三角形。 以上是使用Qt来实现鼠标旋转三角形的大致思路。具体的实现中,可能还需要对三角形的顶点坐标进行计算、设置OpenGL的投影矩阵等等。实现方法可以根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值