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

来源:互联网 发布:淘宝手机充值卡换现金 编辑:程序博客网 时间:2024/05/17 03:34

将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三个轴转动的角度。





代码工程已上传需要的可以下载.
0 0
原创粉丝点击