【问题标题】:createWindowContainer for subclass of QWindowQWindow 子类的 createWindowContainer
【发布时间】:2016-11-23 17:14:36
【问题描述】:

我想在我的 QWindow 子类上创建一个小部件容器,以将其插入到 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 而是像我这样的子类?

【问题讨论】:

  • 是的,对不起,我会编辑它
  • 我不确定这是否正确,但我相信 QWidget::createWindowContainer(); 正在请求一个指向 glShaderWindow 对象的指针,而我在您的窗口对象声明中看不到它...跨度>

标签: qt opengl inheritance


【解决方案1】:

两个错误

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多