Re: [問題] Qt 繪圖疑問

看板C_and_CPP作者 (Alien)時間16年前 (2009/08/12 09:54), 編輯推噓3(3013)
留言16則, 6人參與, 最新討論串4/4 (看更多)
※ 引述《xyz888x (ㄚ祥)》之銘言: : 最後測試後成功了=.=a : QGraphicsScene *scene; : scene = new QGraphicsScene(QRect(100,100,100,100)); : scene->addText("Hello, world!"); : scene->addLine(100,100,300,300); : graphicsView->setScene(scene); : 我把QGraphicsScene改宣告成指標形態,就可以顯示了!!! : 不知道是啥原因=.=這樣以後,我怎麼知道要宣告成指標還是普通變數!! : 煩請各位大大指教一下!!! 我不懂 QT 單看你的程式, 之前不行大概是因為你的 scene 是放在做 painting的 event handler method 內. method 一完它的 lifetime 也完了. 之後當程式 真的拿你的 scene 來用, 沒當掉就算幸運了吧... 第二次做, 是由 heap allocate, 後來程式要拿 來工作, object 還在, 可是要是 graphicsView 不幫你 delete scene 的 instance 的話, 你的 程式應該是會瘋狂 memory leak 的 一般這類情況, 都是會放在一個對應的 lifetime 的地方生成 scene, 然後把那個 scene 傳進去吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82

08/12 18:39, , 1F
嗯嗯...有可能~~ 另外QT會幫忙處理new
08/12 18:39, 1F

08/12 19:04, , 2F
所謂會處理的程度是怎樣? 這裡看來有點危險
08/12 19:04, 2F

08/12 19:45, , 3F
看來我這樣的作法太危險了=.=可以把解決方式,再詳細
08/12 19:45, 3F

08/12 19:46, , 4F
一點的說明嗎,謝謝!!!
08/12 19:46, 4F

08/12 19:52, , 5F
我實在是太弱了=.="
08/12 19:52, 5F

08/12 20:02, , 6F
你的論點沒錯,不過Qt會自已動點手腳,有時自已delete
08/12 20:02, 6F

08/12 20:04, , 7F
反而會出現問題,總之要看文件或自已試看看
08/12 20:04, 7F

08/12 20:16, , 8F
重點還是要看文件了 :)
08/12 20:16, 8F

08/12 20:31, , 9F
文件中,他所給的範例,並不是宣告成指標型態!!
08/12 20:31, 9F

08/12 21:32, , 10F
QT會幫忙 garbage collection 吧
08/12 21:32, 10F

08/13 00:26, , 11F
qt應該不可能做 gc 吧,最多是搞搞 auto ptr,ref count
08/13 00:26, 11F

08/13 00:27, , 12F
之類,但單看這裡的用法猜它的 api, 又不像是那兩種
08/13 00:27, 12F

08/15 12:42, , 13F
Qt的作法是當parent(Gui的parent)被刪除的時候,所有底下的
08/15 12:42, 13F

08/15 12:43, , 14F
都會一起被刪除,我想理論上setScene的動作應該有setParent
08/15 12:43, 14F

08/15 12:43, , 15F
在Qt中你只要保證你的物件都有連結在一起,最上層的物件的
08/15 12:43, 15F

08/15 12:44, , 16F
記憶體又有記得刪除的話應該就不會有問題
08/15 12:44, 16F
文章代碼(AID): #1AWf5TFS (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
0
3
完整討論串 (本文為第 4 之 4 篇):
問題
0
3
問題
1
2
問題
1
1
文章代碼(AID): #1AWf5TFS (C_and_CPP)