2016-11-23 4 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

はい申し訳ありませんが、私は)私はこれが正しいことを確認しないんだけど、私は 'のQWidget :: createWindowContainer(信じる –

+0

それを編集します;' glShaderWindowオブジェクトへのポインタを求めていると私は見ていませんあなたのウィンドウオブジェクトの宣言で表現されている... – mrg95

答えて

0

2つのエラー

  1. QWidget::createWindowContainer()は静的メソッドであるが、それは窓をカプセル化されたウィジェットを返し

  2. 最初の引数は、ウィンドウへのポインタ、つまり、あなたが渡している、QWindow*です値/参照。

関連する問題