在QOpenGLWidget上添加一些QWidget

时间:2017-05-12 17:35:41

标签: c++ qt

如何在QButton的右下角添加QOpenGLWidget

2 个答案:

答案 0 :(得分:1)

几何属性保持几何相对于它的父级除了框架。

计算子窗口小部件相对于父窗口小部件几何体的位置。

然后使用setGeometry设置几何体。

下面是一个粗略的伪代码,(这是未经测试的,仅适用于Idea。几何计算也可能不正确。但是可以帮助您实现目标)。

查看评论以获取详细信息。

//YOUR OPENGL WIDGET
QOpenGLWidget *pOpenGL =  new QOpenGLWidget(<<PARENT WINDOW>>, <<FLAGS>> );

//THE BUTTON YOU ARE TRYING TO ADD. ESTABLISH PARENT CHILD RELATION
QPushButton *pButton = new QPushButton(pOpenGL);

//THIS STEP IS IMPORTANT TO SET THE LOCATION
//CALCULATE THE GEOMETRY POSITION RELATIVE TO PARENT WIDGET 
//JUST FOR YOUR IDEA. MAY NEED TO DO SOME PROPER CALCULATIONS
pButton->setGeometry(pOpenGL->x(),pOpenGL->y()-(pOpenGL->height()-20),10,20);

//THEN SET THE CENTRAL WIDGET
setCentralWidget(pOpenGL);

答案 1 :(得分:0)

您可以使用move函数:

QOpenGLWidget *openglWdg =  new QOpenGLWidget();
QPushButton  * btn = new QPushButton(openglWdg);
btn->move(0 , 0);