当前位置: 首页 > wzjs >正文

pc网站怎么做自适应seo排名点击器

pc网站怎么做自适应,seo排名点击器,aisinoty810色带,设计网站推荐原因以下是使用Qt和OpenGL实现绘制彩色三角形并添加颜色选择按钮的步骤&#xff1a; 一、创建OpenGL绘制组件 继承QOpenGLWidget实现自定义绘制类&#xff1a; // myopenglwidget.h #include <QOpenGLWidget> #include <QOpenGLFunctions_3_3_Core> #include <QO…

以下是使用Qt和OpenGL实现绘制彩色三角形并添加颜色选择按钮的步骤:

一、创建OpenGL绘制组件

  1. 继承QOpenGLWidget实现自定义绘制类:
// myopenglwidget.h
#include <QOpenGLWidget>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLShaderProgram>class MyOpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions_3_3_Core
{Q_OBJECT
public:explicit MyOpenGLWidget(QWidget *parent = nullptr);void setTriangleColor(const QColor &color);protected:void initializeGL() override;void paintGL() override;private:GLuint VAO, VBO;QOpenGLShaderProgram *shaderProgram;QVector3D triangleColor = QVector3D(1.0f, 0.0f, 0.0f); // 默认红色
};

二、实现OpenGL初始化与绘制

// myopenglwidget.cpp
void MyOpenGLWidget::initializeGL()
{initializeOpenGLFunctions();glClearColor(0.1f, 0.1f, 0.1f, 1.0f);// 顶点数据(三角形位置)float vertices[] = {-0.5f, -0.5f, 0.0f,0.5f, -0.5f, 0.0f,0.0f,  0.5f, 0.0f};// 创建VAO/VBOglGenVertexArrays(1, &VAO);glGenBuffers(1, &VBO);glBindVertexArray(VAO);glBindBuffer(GL_ARRAY_BUFFER, VBO);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);// 配置顶点属性glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);glEnableVertexAttribArray(0);// 创建着色器程序shaderProgram = new QOpenGLShaderProgram(this);shaderProgram->addShaderFromSourceCode(QOpenGLShader::Vertex,"#version 330 core\n""layout (location = 0) in vec3 aPos;\n""void main() {\n""   gl_Position = vec4(aPos, 1.0);\n""}");shaderProgram->addShaderFromSourceCode(QOpenGLShader::Fragment,"#version 330 core\n""out vec4 FragColor;\n""uniform vec3 ourColor;\n""void main() {\n""   FragColor = vec4(ourColor, 1.0);\n""}");shaderProgram->link();
}void MyOpenGLWidget::paintGL()
{glClear(GL_COLOR_BUFFER_BIT);shaderProgram->bind();shaderProgram->setUniformValue("ourColor", triangleColor);glBindVertexArray(VAO);glDrawArrays(GL_TRIANGLES, 0, 3);shaderProgram->release();
}void MyOpenGLWidget::setTriangleColor(const QColor &color)
{triangleColor = QVector3D(color.redF(), color.greenF(), color.blueF());update(); // 触发重绘
}

三、添加颜色选择按钮

// mainwindow.cpp
#include <QMainWindow>
#include <QPushButton>
#include <QColorDialog>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{MyOpenGLWidget *glWidget = new MyOpenGLWidget(this);setCentralWidget(glWidget);// 创建颜色选择按钮QPushButton *colorBtn = new QPushButton("选择颜色", this);colorBtn->setGeometry(10, 10, 100, 30);connect(colorBtn, &QPushButton::clicked, [=](){QColor color = QColorDialog::getColor(Qt::red, this, "选择三角形颜色");if (color.isValid()) {glWidget->setTriangleColor(color);}});
}

四、运行效果

  1. 窗口显示灰色背景的红色三角形
  2. 点击"选择颜色"按钮弹出颜色选择对话框
  3. 选择颜色后三角形实时更新颜色

关键实现原理

  1. 着色器控制颜色:通过uniform变量传递颜色值到片段着色器
  2. 颜色转换:将Qt的QColor转换为OpenGL的归一化颜色值(0.0-1.0)
  3. 实时更新:调用update()触发OpenGL重绘
http://www.dtcms.com/wzjs/359134.html

相关文章:

  • 北京梦创义网站建设企业seo顾问公司
  • 用flask做网站网址大全是ie浏览器吗
  • 如何给网站死链接做404百度指数人群画像
  • 导购网站如何做百度服务热线
  • 兼职做网站挣钱么发软文的平台
  • 专业的营销型网站制作百度怎么推广自己的网站
  • 必应网站收录提交入口百度关键词排名批量查询
  • 用dw做旅游网站的方法公众号推广渠道
  • 展展示型网站开发网站seo优化方案
  • 网页视频怎么下载到手机上关键词优化的策略有哪些
  • 学校网站建设的作用百度官网入口链接
  • 自助建网站100个经典创意营销方案
  • 广安网站建设推荐营业推广策略有哪些
  • 基于java ee的电子商务网站建设 下载seo全网推广营销软件
  • 微信公众平台小程序助手网站快速优化排名软件
  • 专业营销网站友情链接检查
  • 租赁服务器seo的中文含义是什么意思
  • 做网站郑州汉狮百度排名点击软件
  • 项目开发的五个阶段seo外链建设的方法
  • 微商城网站制作网络营销专业
  • 东莞南城网站制作公司网站建设代理
  • 旅游电子商务网站规划书seo排名查询工具
  • 网站正在建设中卡通源码近期10大新闻事件
  • 网站设计基本要求做销售怎样去寻找客户
  • 用系统建购物网站网络广告
  • 什么APP可以做网站最新推广注册app拿佣金
  • 做网站有前途苏州百度搜索排名优化
  • wordpress添加时间轴上海优化网站公司哪家好
  • 整站seo公司网站建设方案及报价
  • 计算机专业做网站的开题报告西安网站seo优化公司