是否可以剪切QGLWidget?我的意思是我想削減它,所以我可以訪問下面的GUI。這聽起來很奇怪,但對於我來說,將我的QGLWidget分成兩部分將是很多工作。我希望你明白我的意思。謝謝切QGLWidget?
回答
我不完全明白你的意思是「cut」和下面的GUI。在正確使用佈局機制的Qt中,一個小部件會佔用它所覆蓋的區域,並且它下面沒有小部件。
是否要將多個視圖呈現爲單個QGLWidget?這很容易通過正確使用glViewport + glScissor。
編輯因發表評論
有兩種窗口:
- 頂級(您可以自由走動在屏幕上)
- 子窗口(子窗口像頂級窗口中的小部件或窗格)
個窗口又進來兩個特點:
- 邏輯子
- 真正的孩子
一個合乎邏輯的子窗口只是由它的位置,尺寸和層,並通過工具包進行管理。從操作系統的角度來看,只有一個頂級窗口。該工具包是管理其內部狀態以在頂級窗口中給出獨立同級窗口的印象。
一個真實的子窗口由操作/圖形系統管理。這種真實的孩子窗口可以與他們的父母和兄弟姐妹分享他們的圖形上下文。但是,如果創建OpenGL上下文的窗口具有其自己的圖形上下文,則OpenGL只能正常工作。因此,任何OpenGL子窗口都不可避免地會擁有自己的圖形上下文和圖形系統窗口對象。大多數圖形系統都不支持在子窗口上應用形狀(只有頂層窗口,然後這也與OpenGL衝突)。
所以這一切都歸結爲它幾乎是不可能的,也不建議嘗試在兄弟的頂部「層」一個OpenGL窗口。它可能在某些情況下工作,但大多數情況下不會。
這是個壞消息。
好消息是,你只是看着一個稍微錯誤的方向。我在此指示你的觀點爲QGraphicsView。 QGraphicsView支持OpenGL作爲後端,你也可以編寫你自己的OpenGL渲染器代碼在QGraphicsView中執行。但是,另外QGraphicsView也可以用於渲染小部件,也使用OpenGL。所以你所要做的就是把你的OpenGL渲染代碼和你的小部件放到一個普通的QGraphicsView場景中並完成。這裏有一個教程http://www.crossplatform.ru/node/612本教程的結果如下所示:
這是難以解釋的。但我想在QWidget上放置一個QGLWidget。在Mac上不可能以相反的方式來做。現在我在QGLWidget中有兩個viewort。Gui應該應該被刪除。這是可能的,因爲我不知道如何將兩個視口放入兩個小部件。我的視口互動,作爲Qt的新手,我不知道如何實現這一點。所以,如果我能削減這部分的話,那將是不公平的。我在前面描述了我的問題:[link](http://stackoverflow.com/questions/7092106/defining-buttons-in-opengl-window)謝謝 – buddy
@buddy:你試圖做的事情,那些誰試圖以庇護結束或郵寄或兩者兼而有之。請參閱我的編輯以獲取解釋。 – datenwolf
嗯,好的。我認爲你的意思不是郵寄?或者這是一個新的表達。謝謝 – buddy
- 1. 問題與QGLWidget
- 2. Qt5,Webgl和QGLWidget
- 3. 如何全屏QGLWidget?
- 4. QGLWidget :: renderText包圍盒
- 5. QGLWidget + QGraphicsScene + QGraphics查看問題
- 6. QGLWidget圖形和QT的GUI
- 7. QGLWidget和硬件加速?
- 8. QScrollArea中的QGLWidget說「invalid drawable」
- 9. Cmake無法找到QGLWidget
- 10. QGLWidget不更新(Pyqt5和OpenGL)
- 11. QGlWidget全屏無菜單
- 12. Qt連接QTableWidget和QGLWidget
- 13. 如何全屏顯示QGLWidget?
- 14. QGLWidget:使用QPainter覆蓋
- 15. QGraphics透明QGLWidget查看
- 16. 在QGLWidget中顯示OptiX sample6
- 17. QT OpenGL QGLWidget無法找到
- 18. QGLWidget paintEvent:在哪裏初始化openGL?
- 19. Qt,使用OpenGL,QGLWidget是私有的
- 20. 用3D + 2D圖形重新繪製QGLWidget
- 21. 如何繼承QGLWidget以使用glew?
- 22. 使用QGLWidget :: renderText與QGLBuffer崩潰
- 23. 在Qt 4.8.0中使用QGlWidget更改QWidget
- 24. 繪圖QGLWidget來繪圖到QWidget的
- 25. QGLWidget和QOpenGLWidget有什麼不同?
- 26. QGLWidget上的上下文菜單問題
- 27. 如何激活QPainter :: beginNativePainting,Painter不活動的QGLWidget?
- 28. 試圖從整個應用程序訪問QGLWidget
- 29. 如何中心QGLWidget來繪圖的一個子類中PyQt5
- 30. 2d HUD不能正確繪製QGLWidget(使用QPainter)
不確定你要在這裏做什麼?你想達到什麼效果?也許你想要的是在Qt中表達不同。你有任何關於你的應用程序應該是什麼樣子的例子嗎? – blueskin