基于Opencv2.4.11+OpenGL(Qt5.6.0)实现增强现实(二)

    xiaoxiao2023-03-28  12

    将openGL渲染的窗口放到UI界面中

    上面写到可以通过Qt中的OpenGL实现了在窗体上显示立方体,但是如何通过QT界面上的控件对其状态进行控制呢,比如说控制转速的快慢等。很自然就想到是否可以把OpenGL渲染的窗口放到QT界面中呢?答案是肯定的,通过参考官方的历程找到了相应的方法,下面进行介绍。

    可以看到在Qt界面设置的窗口中有一个OpenGLWidget,将其放到ui界面中并命名为openGLWidget。保存后就可以在程序中使用了。为了与opengl窗口匹配对其尺寸进行更改。

    接下来将之前写的opengl实现立方体的程序封装成一个新的类,记得将Base class改成QGLWidget,之后将程序放到新的类openGL之中。在主线程中通过openGL OPENGL;对其实例化,之后通过容器将其放到ui界面的openGLWidget中。这样就完成了openGL放置到ui界面之中。

    //通过容器将opengl渲染的图像添加到ui界面中 QHBoxLayout container; container.addWidget(&OPENGL); ui.openGLWidget->setLayout(&container);  

    之后在界面添加slider实现对openGL所渲染物体转动的角度进行控制,首先在主界面添加新的siler并添加对应的槽函数,槽函数应该与程序中的函数名对应。添加三个滑条分别控制x,y,z三个轴转动的角度。 代码工程已上传需要的可以下载.
    转载请注明原文地址: https://ju.6miu.com/read-1210771.html
    最新回复(0)