Re: [問題] Qt 繪圖疑問
※ 引述《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
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
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
08/12 21:32, 10F
→
08/13 00:26, , 11F
08/13 00:26, 11F
→
08/13 00:27, , 12F
08/13 00:27, 12F
推
08/15 12:42, , 13F
08/15 12:42, 13F
→
08/15 12:43, , 14F
08/15 12:43, 14F
→
08/15 12:43, , 15F
08/15 12:43, 15F
→
08/15 12:44, , 16F
08/15 12:44, 16F
討論串 (同標題文章)