2009-08-13 17 views
0

私の "EditorView"(QGLWidget)は、作成時に2回リサイズされています。それは、例えば846x630で始まり、次に846x607に縮小する(高さ23ピクセルを失う)。このように作成:Qtウィジェットは初期化時に2回リサイズされますか?

EditorWindow::EditorWindow() { 
    Q_INIT_RESOURCE(icons); 

    readSettings(); 

    setWindowTitle("Q2D Map Editor"); 

    createActions(); 
    createMenus(); 
    createToolBars(); 
    createStatusBar(); 

    editorView = new EditorView; 
    setCentralWidget(editorView); 
} 

そして、この自動二回呼び出されます:

void EditorView::resizeGL(int w, int h) { 
    printf("%d x %d\n", w, h); 
    glViewport(0, 0, w, h); 
    updateView(); 
} 

私は23ピクセルの図は、ステータスバーのサイズについてですが、ステータスバーが前の場所に既にあるべき中央のウィジェットは初期化されていますか?それとも何らかの理由で遅れていますか?


コールスタック1

http://img259.imageshack.us/img259/8881/callstack1.png

コールスタック2

http://img259.imageshack.us/img259/2200/callstack2.png

答えて

3

あなたはresizeGLメソッドにブレークポイントを設定し、両方で、確認するために、コールスタックをチェックする必要がありますresizeGLを呼び出す理由は何ですか?あなたが提供したコードからは明らかではありません。

+1

ええと...レイアウトが初期化を完了していないようです(スクリーンを参照)。まあそれはばかだ。ああ...それは大きな問題ではない。ちょうど私のグラフィックが中心にないことを意味します。 – mpen

関連する問題