2016-11-23 55 views
0

我想創建一個通過QWindow的子類創建一個小部件容器,以將其插入到MainWindow中。用於QWindow的子類的createWindowContainer

這裏是我做過什麼:

MainWindow ui ; 
    glShaderWindow window; 
    QWidget *container ; 

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

主窗口QMainWindow的從繼承。 glShaderWindow繼承自我自己的類OpenGLWindow。 OpenGlWindow繼承自QWindow和QOpenGLFunctions。

我得到的錯誤:

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

我如何使用這項功能不正確的QWindow但一個子類,如我有嗎?

+0

是的,對不起,我會編輯 –

+0

我不知道這是正確的,但我相信'QWidget的:: createWindowContainer();'是要求一個指向glShaderWindow對象,我沒有看到在窗口對象聲明中表示的... – mrg95

回答

0

兩個錯誤

  1. QWidget::createWindowContainer()是一個靜態方法,它返回封裝窗口小部件

  2. 它的第一個參數是QWindow*,即指向一個窗口,你傳遞值/參考。