2011-12-20 29 views
0

在我的主窗口中,我有兩個Qpushbuttons:添加對象按鈕和撤消按鈕。Qt OpenGL GUI:添加和撤消Qpushbutton

當我單擊添加對象按鈕時,它呈現一個OpenGL模型,我希望它再次單擊添加按鈕時呈現另一個模型。撤銷按鈕應該撤消最後的添加操作。

我該如何做到這一點?

+0

我假設'C++'?看看[事件和信號](http://zetcode.com/tutorials/qt4tutorial/eventsandsignals/)。 – Blender 2011-12-20 08:13:37

+1

所以你只是想在一組網格的元素之間來回走動? (可能在結束時進行環繞)?如果是這樣的話,看起來並不像OpenGL或Qt問題。 – Bart 2011-12-20 09:16:26

+0

這是關於基本的GUI編程。首先,當某個按鈕被按下時,你需要能夠做*某事*。什麼都沒關係;只是讓檢測部分工作。然後,您需要弄清楚如何渲染多個模型,以便您可以添加和從列表中刪除。最後,您可以將該概念與添加/刪除按鈕掛鉤。 – 2011-12-20 09:19:32

回答

1

OpenGL模型,我希望它再次單擊添加按鈕時呈現另一個模型。

你讓OpenGL與場景圖形混淆。 OpenGL不維護對象或幾何體的場景。我只是畫畫的東西。如果你改變了某些東西,你必須從你維護的場景數據中重新繪製整個東西。

撤銷/重做成爲您的場景數據的操作。並且在場景中的操作之後,您可以使用OpenGL繪製場景。

+0

謝謝。我連接了Add按鈕來調用一個用對象繪製場景的函數,然後我連接了Undo按鈕來重新繪製沒有該對象的場景。看起來沒問題!但是現在,我如何讓添加按鈕在每次點擊時繪製不同的對象,比如我先點擊,添加object1,點擊第二次,然後添加對象2.然後,我單擊撤消,然後它僅使用對象繪製場景1,然後我再次點擊撤消,它會繪製沒有任何對象的場景? – DevEx 2011-12-29 12:57:29