我的"EditorView“( QGLWidget)在创建时被调整了两次。它从846x630开始,然后缩小到846x607 (失去23个像素的高度)。像这样创建的:
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
发布于 2009-08-13 06:14:01
您应该在resizeGL方法中设置一个断点,并检查调用堆栈,以查看在这两种情况下调用resizeGL的原因。从您提供的代码来看,这并不明显。
https://stackoverflow.com/questions/1269806
复制相似问题