用于QWindow子类的createWindowContainer

时间:2016-11-23 17:14:37

标签: qt opengl inheritance

我想在QWindow的子类上创建一个widget容器,将它插入到MainWindow中。

这是我做的:

   MainWindow ui ;
   glShaderWindow window;
   QWidget *container ;

   container->createWindowContainer(window);
   ui.gridLayout_2->addWidget(container);

MainWindow继承自QMainWindow。 glShaderWindow继承自我自己的类OpenGLWindow。 OpenGlWindow继承自QWindow和QOpenGLFunctions。

我收到错误:

 error: no matching function for call to ‘QWidget::createWindowContainer(glShaderWindow&)’

如何使用这个函数不是一个合适的QWindow而是一个像我这样的子类?

1 个答案:

答案 0 :(得分:0)

两个错误

  1. QWidget::createWindowContainer()是一个静态方法,它返回封装窗口的小部件

  2. 它的第一个参数是QWindow*,即指向窗口的指针,您传递的是值/引用。