最近在學習Qt。專案中有一個部分是類似于畫圖的功能。先從工具箱中選取圖形,然后繪制。同時圖元可以移動,拖拽,屬性編輯等。現在我有自己的場景類MyScene 繼承自QGraphicsScene 自己的物件類 MyItem 圖元類 繼承自QGraphicsItem。現在我的實作方法上 MyScene類 有滑鼠事件MousePressEvent 用于滑鼠點擊的時候在場景上加載Item. MyItem 類 有滑鼠事件MousePressEvent 用于對已經在場景上生成的item類的選擇。但是好像滑鼠事件只能被MyScene類捕捉,不能被MyItem類捕獲。想向各位大俠請教,如何能使我的圖元類相應滑鼠事件。或者說有什么其他辦法獲得場景中我已經用滑鼠選擇的圖元。小妹剛接觸QT,很多都不太明白,希望得到各位高手的指點。
uj5u.com熱心網友回復:
呵呵 是妹紙啊 看QT的自帶例子吧 就是你想要的東東 見下圖
圖片:QQ拼音截圖未命名.jpg
uj5u.com熱心網友回復:
我也再做類似專案,再給個網址,有詳細的解釋。 http://qt-project.org/doc/qt-4.8/graphicsview-diagramscene.htmluj5u.com熱心網友回復:
場景已經捕捉到了事件,但是沒有分發給你的item,沒有分發給item的原因是由于檢測區域不對,導致事件不能下發。你看看你的shape函式中item的邊界限定對不對。uj5u.com熱心網友回復:
您好,我遇到了和你一樣的問題,自定義的item無法接收到自定義scene分發的event物件,請問 您是怎么解決的?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208610.html
標籤:其他技術討論專區
上一篇:Qt程式在Linux下,用靜態編譯好還是動態編譯好?各有什么有缺點?
下一篇:go語言使用debugger啟動的時候報錯Failed to continue: "Cannot find Delve debugger. Install fr
