Qt对Opengl的支持情况

Qt6中opengl库的简单使用 使用Qt6中QOpenGLWidget和opengl进行简单三维绘图 阅读详情

Qt提供了对OpenGL的广泛支持,这对于开发需要复杂图形处理的机器视觉软件尤为重要。以下是Qt对OpenGL支持的一些关键方面:

1. 用户界面开发方法: Qt有两种主要的用户界面开发方式:Qt Quick和Qt Widgets。这两种方式都支持与OpenGL图形API的代码结合,分别基于为这两种类型的用户界面优化的独立图形引擎

2. 硬件加速3D图形: Qt支持与OpenGL实现的集成,使开发者能够在更传统的用户界面旁边显示硬件加速的3D图形。Qt提供的示例展示了在Qt应用程序中利用OpenGL的基本技术。

3. OpenGL支持类的迁移: 在Qt 5中,为了支持OpenGL这一跨平台图形API——它是Qt图形基础的一部分——向Qt Gui添加了一组替代的OpenGL支持类。在Qt 6中,这些类已经迁移到了Qt OpenGL模块。

4. OpenGL核心配置文件支持: Qt现在已经扩展了对OpenGL的支持,提供了对OpenGL核心配置文件的访问。使用核心配置文件时,移除了对传统固定功能管线的所有访问。这意味着在屏幕上绘制任何内容都需要使用glsl着色器和顶点数组或缓冲区。

5. 运行时OpenGL实现选择和加载: Qt支持在运行时选择和加载OpenGL实现。这种模式是默认的,并且可以通过在配置脚本中传递-opengl dynamic来显式请求。这种配置在构建时期没有对OpenGL实现进行硬编码的依赖或假设,因此是最灵活的。

通过这些支持,Qt能够使开发者充分利用OpenGL的强大功能,为机器视觉软件提供高性能的图形处理能力。

下面是个Qt OpenGL着色器程序例子。

创建一个完整的Qt OpenGL着色器程序涉及到几个步骤,包括设置OpenGL环境、编写GLSL着色器代码,以及将这些着色器集成到Qt应用程序中。这里提供了一个简单的例子,展示了如何编写头文件和.cpp文件来实现这一点。

首先是头文件(MyGLWidget.h):

#ifndef MYGLWIDGET_H
#define MYGLWIDGET_H

#include <QOpenGLWidget>
#include <QOpenGLShaderProgram>

class MyGLWidget : public QOpenGLWidget
{
    Q_OBJECT

public:
    MyGLWidget(QWidget *parent = nullptr);
    ~MyGLWidget();

protected:
    void initializeGL() override;
    void resizeGL(int w, int h) override;
    void paintGL() override;

private:
    QOpenGLShaderProgram *m_program;
    int m_vertexLocation, m_matrixLocation, m_colorLocation;
    QMatrix4x4 m_projMatrix;
};

#endif // MYGLWIDGET_H

接着是.cpp文件(MyGLWidget.cpp):

#include "MyGLWidget.h"

MyGLWidget::MyGLWidget(QWidget *parent) : QOpenGLWidget(parent), m_program(nullptr)
{
}

MyGLWidget::~MyGLWidget()
{
    makeCurrent();
    delete m_program;
    doneCurrent();
}

void MyGLWidget::initializeGL()
{
    m_program = new QOpenGLShaderProgram();
    m_program->addShaderFromSourceCode(QOpenGLShader::Vertex,
        "attribute highp vec4 vertex;\n"
        "uniform highp mat4 matrix;\n"
        "void main(void)\n"
        "{\n"
        "   gl_Position = matrix * vertex;\n"
        "}");
    m_program->addShaderFromSourceCode(QOpenGLShader::Fragment,
        "uniform mediump vec4 color;\n"
        "void main(void)\n"
        "{\n"
        "   gl_FragColor = color;\n"
        "}");
    m_program->link();
    m_program->bind();

    m_vertexLocation = m_program->attributeLocation("vertex");
    m_matrixLocation = m_program->uniformLocation("matrix");
    m_colorLocation = m_program->uniformLocation("color");
}

void MyGLWidget::resizeGL(int w, int h)
{
    m_projMatrix.setToIdentity();
    m_projMatrix.ortho(0, w, h, 0, -1, 1);
}

void MyGLWidget::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT);

    static const GLfloat triangleVertices[] = {
        60.0f,  10.0f,  0.0f,
        110.0f, 110.0f, 0.0f,
        10.0f,  110.0f, 0.0f
    };

    QColor color(0, 255, 0, 255);

    m_program->enableAttributeArray(m_vertexLocation);
    m_program->setAttributeArray(m_vertexLocation, triangleVertices, 3);
    m_program->setUniformValue(m_matrixLocation, m_projMatrix);
    m_program->setUniformValue(m_colorLocation, color);

    glDrawArrays(GL_TRIANGLES, 0, 3);

    m_program->disableAttributeArray(m_vertexLocation);
}

这个示例展示了一个Qt OpenGL小程序的基础结构,其中包括了着色器程序的初始化、配置和绘制过程。请注意,实际的应用程序可能需要更复杂的设置,包括适当的资源管理和错误处理。

Qt OpenGL三维绘图 简介 OpenGL是为三维绘图提供的标准应用编程接口。 OpenGL处理的仅仅是三维绘图方面,而很少或是根本不提供图形用户界面编程方面的支持。OpenGL*应用程序的用户界面必须由其它工具包创建,比如在X平台下的Motif,在Windows平台下的微软基本类库(M 阅读详情

相关推荐

【OpenGL】使用 python + Qt + OpenGL 的现代渲染

在本教程中,我们将编写一个小型 Python 脚本,该脚本在 GUI 中呈现一个立方体,并使用滑块来控制其旋转。这将基于其他教程,即本教程,但会更详细地解释该过程和一般 OpenGL 概念。您可以在此处下载完整的脚本。

gongdiwudu的专栏 4187

【QT教程】QT6 OpenGL编程 QT OpenGL编程

OpenGL简介OpenGL简介OpenGL(Open Graphics Library)是一个跨语言、跨平台的应用程序编程接口(API),用于渲染2D、3D向量图形。它被广泛用于计算机图形和游戏开发中。OpenGL是一个独立于硬件的API,这意味着它提供了一套与具体硬件无关的绘制命令,使得开发者编写的程序可以在支持OpenGL的不同平台上运行。OpenGL的历史OpenGL最早是由SGI(Silicon Graphics Inc.)公司在1992年开发的。

QT性能优化QT原理源码QT界面美化 4055

使用Qt进行OpenGL开发-绘制简单矩形

Qt中自带OpenGL模块可以用来进行三维开发,下面介绍一下在Qt中进行OpenGL开发的一些简单Demo。OpenGL的最小图元是三角形。矩形则由两个三角形组成。通过四个顶点坐标和顶点的索引确定两个三角形,从而组成一个矩形。代码采用的是Qt的Opengl模块,管道编程采用的是GLSL语言。 在头文件中需要包含Qt对应的模块头文件,对应的头文件代码如下。 opengl.h #ifndef OPENGL_H #define OPENGL_H #include <QtWidgets/QWid..

yang1fei2的博客 2497

QT QOpenGLWidget使用说明(一)OpenGL 类的添加

QT QOpenGLWidget使用说明(一)OpenGL 类的添加

qq_30150579的博客 5134

从零搭建基于OpenSpec的现代化UI自动化测试框架实战指南

UI自动化测试是软件质量保障的关键环节,其核心在于通过脚本模拟用户操作,对Web应用界面进行功能验证。其原理在于利用浏览器驱动工具(如Selenium、Playwright)提供的API,实现对页面元素的定位、交互与断言。一个设计良好的自动化框架能显著提升测试脚本的可维护性、可读性和执行稳定性,从而在持续集成、回归测试等场景中发挥巨大价值。本文聚焦于如何构建一个现代化的UI测试框架,通过整合OpenSpec架构规范、Pytest测试引擎与Playwright浏览器自动化工具,形成清晰的页面对象模型(POM)

weixin_28836989的博客 279

PaddleOCR实战:DBnet++与DBnet模型训练全流程解析

本文详细解析了基于PaddleOCR框架的DBnet与DBnet++文字检测模型的完整训练流程。从环境配置、数据集准备、配置文件解读,到模型训练、评估调参及最终推理部署,提供了实战指南。重点对比了DBnet++与DBnet在精度、速度及适用场景上的差异,帮助开发者高效构建定制化的OCR检测模型。

weixin_29038155的博客 329

qt4.8.4对opengl的支持情况

Qt 4.8.4 对 OpenGL 的支持以兼容性和基础功能为主,适合开发不依赖高级图形特性的 3D 应用,但在现代硬件和复杂场景下存在明显局限性。Qt 4.8.4 对 OpenGL 的支持主要基于 Qt 的 OpenGL 模块(QtOpenGL),该模块提供了与 OpenGL 图形库的接口,允许开发者在 Qt 应用程序中集成 3D 图形渲染功能。这是因为 Qt 4.x 系列的设计目标是兼容较旧的硬件和驱动环境,对现代 OpenGL 特性(如 OpenGL 3.0 及以上的核心配置文件)支持有限。

jijie_ming的博客 693

VM与欧姆龙PLC通讯设置实战:Fins TCP/UDP协议详解

本文详细解析了VM(VisionMaster)与欧姆龙PLC通过Fins TCP/UDP协议进行通讯的实战设置。内容涵盖网络配置、协议选择(TCP可靠性与UDP实时性)、VM端地址映射与数据点添加、以及数据接收解析流程,并提供了常见错误排查与高级调试技巧,帮助视觉与自动化工程师快速实现稳定可靠的工业通讯集成。

weixin_29172963的博客 323

浅谈Qt对OpenGL(ES)2.0以及高级OpenGL_API的支持

Qt5相比Qt4有了很大的改变,对OpenGL这一部分支持的力度加大了。如果说Qt5.0对OpenGL这部分的改变还是试验性的,那么Qt5.1中与OpenGL相关的函数和封装则是优化和一些小小的微调。早在Qt5.1还没有发布的时候,国外就有高手发布了Qt5.1对OpenGL支持的相关特性(链接在这里)。

开发游戏,辉煌全中国 1万+

Windows 下运行 openclaw 出现“‘openclaw‘ 不是内部或外部命令,也不是可运行的程序或批处理文件“的解决方案

方案适用场景推荐指数检查并手动添加 PATH明确知道全局安装目录,只是没加进PATH⭐⭐⭐⭐⭐pnpm setup 自动配置使用 pnpm 安装,想要省心的自动化方式⭐⭐⭐⭐⭐npx 免安装临时运行快速验证核心程序是否正常,排除法排查⭐⭐⭐⭐清理残留后重装npm/pnpm 混用导致版本混乱⭐⭐⭐⭐改用 WSL2不熟悉 Windows 路径体系,长期使用⭐⭐⭐'openclaw' 不是内部或外部命令这类报错,本质上不是"程序坏了",而是。

一键难忘的博客 1万+

英飞凌TC3xx之一起认识GTM(八)如何使用DTM实现死区时间配置

本文简要介绍英飞凌TC3xx系列芯片的DTM模块结构,以及有哪些相关寄存器可用于实现相关配置。

无所适从的我的博客 4626

QtOpenGL--使用OpenGL绘制曲面图(四)

OpenGL是用于硬件加速和3D绘图最广泛使用的图形API接口,几乎所有的桌面平台系统和大多数移动和嵌入式平台都对它提供了支持,有自己对应的实现版本。Qt库就提供了一系列方便的C++类,来帮助用户将由OpenGL支持而绘制的图形集成到自己的应用程序中。

AI_fish的博客 1688

2024年游戏策划最新面试题及答案

1. **游戏策划**:负责游戏设计和开发的创意和技术过程。2. **主要职责**:设计游戏玩法、故事、角色、世界等。4. **游戏机制**:定义玩家如何与游戏世界互动的规则。13. **引人入胜的角色**:深入的背景故事、个性特征。3. **游戏平衡**:确保游戏公平、有趣且具有挑战性。7. **RPG特点**:角色发展、故事驱动、玩家选择。12. **关卡设计技巧**:挑战性、流动性、视觉引导。11. **游戏关卡设计**:创建游戏世界的不同阶段。5. **游戏循环**:玩家在游戏中重复的行为模式。

guo162308的博客 2308

opengl三维模型显示界面 qt_Qt OpenGL三维绘图

OpenGL是为三维绘图提供的标准应用编程接口。OpenGL处理的仅仅是三维绘图方面,而很少或是根本不提供图形用户界面编程方面的支持。OpenGL*应用程序的用户界面必须由其它工具包创建,比如在X平台下的Motif,在Windows平台下的微软基本类库(MFC)——或是在这两种平台下都能使用的Qt。Qt的OpenGL模块使在Qt应用程序中使用OpenGL变的更加容易。它提供了一个OpenGL的部件...

weixin_29148445的博客 1033

YOLOv8改进 | 主干网络 | 在backbone添加Swin-Transformer层【论文必备】

YOLOv8改进,Swin-Transform,YOLOv8添加Swin-Transform

kay_545 2363

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合

将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合 九月份都快过去了,学生们也都开学了,我想校园也会热闹许多吧,在CSDN上也相应地热闹了一些。中秋节也过去了,自己身边还有很多没有吃完的月饼,于是将月饼作为早餐每天早上吃一个,希望这样不会浪费。 这个月的事情比较多,又比较忙,所以这么晚才能抽出时间写出一篇。这回介绍一下Qt对OpenGL的支持情况,话说半月前,我参加...

架构设计 257

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

将Qt、OpenGL、GLSL以及Qt的Graphics-View框架组合

将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合 将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合   九月份都快过去了,学生们也都开学了,我想校园也会热闹许多吧,在希赛上也相应地热闹了一些。中秋节也过去了,自己身边还有很多没有吃完的月饼,于是将月饼作为早餐每天早上吃一个,希望这样不会浪费。   这个月的事情比较多,又比

imxiangzi的专栏 2279

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

QT安装及编程的一些问题

      在安装VC++6.0时,有一个要注册环境变量的安装选项,以一个对话框的形式弹出,默认的是不装,这样在安装QT时,会无法进行编译,这个选项主要是用来对以命令行的编译来提供支持的。这个选定后,便可以正常进行编译了,在Windows下就是比Linux好的一个地方则是:安装大多不会有问题。下面的一些问题则是从别处找来的,不知对不对,供借鉴了。 1. 如何在Qt程序中加入OpenGL支持

AgentAI的专栏 2867

【qt】QT 5.9.4 configure命令输出内容备份

./configure cd qtbase /masterpiece/qt-everywhere-opensource-src-5.9.4/qtbase/configure -top-level Creating qmake… …Done. Info: creating super cache file /masterpiece/qt-everywhere-opensource-src-5.9....

qq_43248127的博客 4010

Qt QOpenGL概要

Qt目前已经对opengl支持很好了,大致涉及这几个类。见解如下: 数据: QOpenGLBuffer,支持顶点数据(顶点坐标,顶点法向量,纹理坐标,颜色),顶点索引。可StreamDraw,即数据写死,也可DynamicDraw,即通过voidwrite(int offset, const void *data, int count)方法更新。 QOpenGLTexture,...

qq_39175540的博客 1142

Qwt 例子学习记1(animation)

#include( $${PWD}/../examples.pri )//把原来的.pro文件这句去掉,改成下面的代替,我是编译完qwt再来看例子的,qwt目录下包涵所需要的头文件与库文件 INCLUDEPATH += .././qwt/ LIBS += .././qwtd.dll QT += opengl //因为需要使用到opengl.所以这句要加上. #

Embedded 209

vs2013 静态编译Qt和配置方法

Qt 5.3.2 静态编译和在VS里的配置方法

【北京小乙】的专栏 7338

python pyqt webgl three.js看看3D应用开发

这个帖子是说QT 对WebGL的支持状况,大概就是linux下面支持,但是windows下面可能有点问题。

True Truth 2217
上一篇: Godot4实现游戏的多语言版本
下一篇: Qt读取xml文件并把内容显示到QTableview上
天天进步2015
博客等级 码龄14年 1万+粉丝 975原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天进步2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值