我有一個QMainWindow的應用程序,理想情況下應該有一個QGLWidget集中在它上面,工具欄和其他頂部/側部件的外部留有空間。爲什麼我的qt centralWidget(一個QGLWidget)不能正確調整大小?
不幸的是,無論QGLWidget設置爲什麼尺寸或幾何形狀,它看起來都很龐大,佔用了整個主窗口!基本上,設置如下:在main()中調用CreateWindow(),它構造主窗口並調用構造GLWidget的函數Init()。因此,內的init(),這是我改編的主窗口類的成員,我主要有:
GLScene = new MyQGLWidget(this);
setCentralWidget(GLScene);
現在,讓GLScene中符合其需要的大小和位置,我第一次嘗試中設置其幾何在GLWidget(又名我直接從GLWidget派生類)的構造函數:
MyQGLWidget::MyQGLWidget(QWidget* parent){
....
setGeometry(210, 40, 600, 400); //the main window is of course bigger and should fit this nicely
....
}
然而,這並沒有在所有的工作,仍然使它佔據整個主窗口。相反,我嘗試將setGeometry調用放入Init()。我在setCentralWidget()之前和之後都嘗試了它。這兩個選項都不起作也沒有徹底刪除setCentralWidget調用(實際上,這使得GLWidget消失)。
由於這顯然無法正常工作,擴展GLWidget的正確方法是什麼?或者這只是一個事情如何訂購的問題,我需要深入研究一下?
你是否嘗試過用'minimumSize()'/'maximumSize()'來查看你是否能夠控制它? – ChiefTwoPencils