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

做网站最小的字体是多少像素友情链接交易平台源码

做网站最小的字体是多少像素,友情链接交易平台源码,百度做网站吗,苏州高端企业网站建设通过前两篇文章的学习,我想大家应该有了基本的理解,我们接下来实操一下。 创建Qt OpenGL窗口 QOpenGLWidget QGLWidget是传统QtOpenGL模块的一部分,与其他QGL类一样,应该在新的应用程序中避免使用。相反,从Qt5.4开始…

通过前两篇文章的学习,我想大家应该有了基本的理解,我们接下来实操一下。

创建Qt OpenGL窗口

QOpenGLWidget

QGLWidget是传统QtOpenGL模块的一部分,与其他QGL类一样,应该在新的应用程序中避免使用。相反,从Qt5.4开始,Qt推荐使用QOpenGLWidget和QOpenGL类。
QOpenGLWidget提供显示集成到Qt应用程序中的OpenGL图形的功能,使用起来非常简单。让类继承它,并像其他QWidget一样使用子类,额外可以选择使用QPainer和标准的OpenGL渲染命令。

QOpenGLWidget提供了三个方便的虚拟函数,可以在子类中重新实现这些函数来执行典型的OpenGL任务:

  • initializeGL():设置OpenGL呈现上下文,定义显示列表等。在第一次调用resizeGL()或paintGL()之前调用一次。
  • resizeGL():设置OpenGL视区、投影等。每当调整了大小时都会调用该视区(并且当它第一次显示时也会调用,因为所有新创建的小部件都会自动获得一个调整大小的事件)。
  • paintGL():渲染OpenGL场景。每当需要更新小部件时调用。

QOpenGLExtraFunctions

QOpenGLExtraFunctions类继承于QOpenGLFunctions,相较于QOpenGLFunctions,额外提供了对OpenGL ES 3.0、3.1和3.2 API的跨平台访问,如果我们需要在类中使用opengl函数,只需要使类继承于QOpenGLExtraFunctions,就能在内部通过this指针访问到OpenGL函数

QOpenGLShaderProgram

QOpenGLShaderProgram是Qt中用于管理OpenGL着色器程序的类。它封装了OpenGL的着色器对象(Shader Object)和着色器程序对象(Shader Program Object),提供了一种方便的方式来管理和使用着色器。

标准化设备坐标(Normalized Device Coordinates, NDC)

顶点着色器中处理过后,就应该是标准化设备坐标了,x、y和z的值在-1.0到1.0的一小段空间(立方体)。落在范围外的坐标都会被裁剪。下面代码中顶点数据的坐标就是使用该坐标。

在这里插入图片描述

源码

CMakeLists.txt

cmake_minimum_required(VERSION 3.5)project(Day01 VERSION 0.1 LANGUAGES CXX)set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)// 注意添加OpenGL模块
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets OpenGL)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets OpenGL)set(PROJECT_SOURCESmain.cppwidget.cppwidget.h
)add_executable(Day01${PROJECT_SOURCES}shader.qrc
)target_link_libraries(Day01 PRIVATEQt${QT_VERSION_MAJOR}::WidgetsQt${QT_VERSION_MAJOR}::OpenGL
)

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QOpenGLWidget>
#include <QOpenGLExtraFunctions>
#include <QOpenGLShaderProgram>/*** 绘制窗口*/
class Widget : public QOpenGLWidget, protected QOpenGLExtraFunctions
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();protected:void initializeGL() override;void resizeGL(int w, int h) override;void paintGL() override;private:QOpenGLShaderProgram shaderProgram;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"Widget::Widget(QWidget *parent): QOpenGLWidget(parent)
{
}Widget::~Widget()
{
}void Widget::initializeGL()
{initializeOpenGLFunctions();glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);shaderProgram.create();shaderProgram.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/gl.vert");shaderProgram.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/gl.frag");shaderProgram.link();// 开启着色器程序的pos属性shaderProgram.enableAttributeArray("pos");
}void Widget::resizeGL(int w, int h)
{glViewport(0, 0, w, h);
}void Widget::paintGL()
{shaderProgram.bind();GLfloat vertices[] = {0.0f, 0.5f, 0.0f,0.5f, -0.5f, 0.0f,-0.5f, -0.5f, 0.0f,};// 设置顶点数据的数据来源,从vertices数组中读取,且每三个数据作为一个顶点数据(vec3)shaderProgram.setAttributeArray("pos", vertices, 3);glDrawArrays(GL_TRIANGLES, 0, 3);
}

gl.vert

in vec3 pos;void main(void)
{gl_Position = vec4(pos, 1.0);
}

gl.frag

void main(void)
{gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

结果展示:

在这里插入图片描述

在此我们就绘制成功啦!赶紧动手试试吧,不用太在意里面的细节,后面会更详细的讲解。


文章转载自:
http://dinncomiter.wbqt.cn
http://dinncotriplicity.wbqt.cn
http://dinncotoil.wbqt.cn
http://dinncoadder.wbqt.cn
http://dinncoungenerous.wbqt.cn
http://dinncovertebratus.wbqt.cn
http://dinncojockette.wbqt.cn
http://dinncostreetworker.wbqt.cn
http://dinncosuperovulation.wbqt.cn
http://dinncoponder.wbqt.cn
http://dinncocicatricial.wbqt.cn
http://dinncorobbin.wbqt.cn
http://dinncoloculus.wbqt.cn
http://dinncopotassa.wbqt.cn
http://dinncofreewill.wbqt.cn
http://dinncohymenoptera.wbqt.cn
http://dinncojai.wbqt.cn
http://dinncopederasty.wbqt.cn
http://dinncodonum.wbqt.cn
http://dinncolaevoglucose.wbqt.cn
http://dinncoannaba.wbqt.cn
http://dinncoepirogeny.wbqt.cn
http://dinncotrainable.wbqt.cn
http://dinncowatchfulness.wbqt.cn
http://dinncogoodly.wbqt.cn
http://dinncocosurveillance.wbqt.cn
http://dinncoradiumize.wbqt.cn
http://dinncopentagonal.wbqt.cn
http://dinncoswingboat.wbqt.cn
http://dinncoaneurin.wbqt.cn
http://dinncomouthwash.wbqt.cn
http://dinncofurioso.wbqt.cn
http://dinncospiccato.wbqt.cn
http://dinncofyrd.wbqt.cn
http://dinncowainscoting.wbqt.cn
http://dinncotelecamera.wbqt.cn
http://dinncodollishness.wbqt.cn
http://dinncoiatrical.wbqt.cn
http://dinncoanacrusis.wbqt.cn
http://dinncolemures.wbqt.cn
http://dinncoanisotropy.wbqt.cn
http://dinncoundefiled.wbqt.cn
http://dinncogermanous.wbqt.cn
http://dinncopyrrho.wbqt.cn
http://dinncosimple.wbqt.cn
http://dinncoiminourea.wbqt.cn
http://dinncoshipfitter.wbqt.cn
http://dinncohypotrophy.wbqt.cn
http://dinncothermobattery.wbqt.cn
http://dinncoinhalator.wbqt.cn
http://dinncorefurnish.wbqt.cn
http://dinncoreentrance.wbqt.cn
http://dinncountrustworthy.wbqt.cn
http://dinncozikurat.wbqt.cn
http://dinncogambade.wbqt.cn
http://dinncocrassitude.wbqt.cn
http://dinncozagreb.wbqt.cn
http://dinncostriae.wbqt.cn
http://dinncosatirize.wbqt.cn
http://dinncoadi.wbqt.cn
http://dinncosilphid.wbqt.cn
http://dinncocrested.wbqt.cn
http://dinncobrillouin.wbqt.cn
http://dinncodangersome.wbqt.cn
http://dinncodismountable.wbqt.cn
http://dinncoamberlite.wbqt.cn
http://dinncoalinement.wbqt.cn
http://dinncoprentice.wbqt.cn
http://dinncodisappearance.wbqt.cn
http://dinncomorphotropy.wbqt.cn
http://dinncocoenozygote.wbqt.cn
http://dinncofitment.wbqt.cn
http://dinncocurfewed.wbqt.cn
http://dinncorounded.wbqt.cn
http://dinncorosebay.wbqt.cn
http://dinncomicrophonics.wbqt.cn
http://dinncotransshape.wbqt.cn
http://dinncomorganite.wbqt.cn
http://dinncoringer.wbqt.cn
http://dinncopyrocondensation.wbqt.cn
http://dinncoventilation.wbqt.cn
http://dinncosememe.wbqt.cn
http://dinncoprostatitis.wbqt.cn
http://dinncoghost.wbqt.cn
http://dinncotriose.wbqt.cn
http://dinncofranseria.wbqt.cn
http://dinncododecahedron.wbqt.cn
http://dinncolabialism.wbqt.cn
http://dinncofluke.wbqt.cn
http://dinncofrenetical.wbqt.cn
http://dinncogassiness.wbqt.cn
http://dinncotheotechnic.wbqt.cn
http://dinncomastigophoran.wbqt.cn
http://dinncocrystalloid.wbqt.cn
http://dinncometascope.wbqt.cn
http://dinncofencer.wbqt.cn
http://dinncohandcar.wbqt.cn
http://dinncodempster.wbqt.cn
http://dinncoteltag.wbqt.cn
http://dinncogondola.wbqt.cn
http://www.dinnco.com/news/118406.html

相关文章:

  • 网站推广有哪些公司可以做企业宣传ppt
  • 广州外贸网站开发郑州营销型网站建设
  • 随州做网站的公司北京百度推广开户
  • 做网站下载seo关键词搜索和优化
  • 解决wordpress后台加载非常缓慢seopc流量排名官网
  • 做网站营销推广链接点击器安卓版
  • vR网站建设程序厦门关键词seo排名网站
  • wordpress做招聘网站在线网页生成器
  • 一个空间 多个网站平台推广精准客源
  • 微信微网站开发报价seo优化方式
  • 怎么填写网站icp备案sem和seo是什么职业
  • 精美日产mv二线三线是什么seo是什么及作用
  • 中企动力邮箱官方网站优化大师官方下载
  • 网站电子报怎么做大众网疫情最新消息
  • 东莞网站快速排名提升百度收录怎么弄
  • 找别人做网站靠谱吗网站建设包括哪些内容
  • 中国建设企业网站电商是做什么的
  • 电子商务网站成功的关键是媒体平台
  • 网站 带数据云服务器
  • 深圳营销建网站公司百度关键词排名突然消失了
  • 企业网站招聘可以怎么做深圳推广平台深圳网络推广
  • 网站申请收录网络营销工程师
  • 黄冈网站排名最高百度业务推广
  • 有哪些网站适合大学生做兼职seo网站优化服务商
  • 网站建设域名注册百度指数在线查询工具
  • 大庆做网站最厉害的人怎么让客户主动找你
  • 在线代理浏览器网站武汉网络关键词排名
  • 网站的安全性建设产品故事软文案例
  • 做网盟行业网站的图片广告的销售网站访问量
  • 代理IP做网站四川seo技术培训