QGraphicsView 擴充套件

2021-10-07 23:16:51 字數 758 閱讀 5138

過程:1. 建立qgraphicsview的子類qthimageview,來實現上述功能;

2. 介面中新增qgraphicsview控制項,右鍵選擇「提公升為」,將其提公升為qthimageview。

滑鼠移動事件:

滑鼠移動事件在預設情況下,在滑鼠按下的同事拖拽滑鼠時被觸發。

qwidget的mousetracking屬性指示窗體是否追蹤滑鼠,預設為false(不追蹤),即在至少有乙個滑鼠按鍵按下的前提下移動滑鼠才觸發mousemoveevent()事件,可以通過setmousetracking(bool enable)方法對該屬性值進行設定,如果設定為追蹤,則無論是否有滑鼠按鍵按下,只要滑鼠移動,就會觸發mousemoveevent事件。

qpixmap中的rect()和size獲取的均為的畫素寬和高的尺寸。

void qimageview::mousemoveevent(qmouseevent *event)

}

3. 右鍵新增命令

void contextmenuevent(qcontextmenuevent *event) q_decl_override;

void onshowpixelvalue();

void qimageview::contextmenuevent(qcontextmenuevent *event)

void qimageview::onshowpixelvalue()

}

對應的qt工程為:

QGraphicsView相關整理

1 繼承qgraphicsview,改寫下面的protected成員函式進行自定義操作 protected void keypressevent qkeyevent event void mousepressevent qmouseevent event void paintevent qpaint...

QGraphicsView 中實現拖拽

開始想使用qgraphicsview結合qgraphicsscene和qgraphicsitem,做個繪製各種圖形的編輯器,想使用拖拽實現快捷方式,沒想到還有點波折。已在qgraphicsvews中設定了setacceptdrops true 在執行時發現 當把拖拽的圖示放到qgraphicsvew...

QGraphicsView 中實現拖拽

開始想使用qgraphicsview結合qgraphicsscene和qgraphicsitem,做個繪製各種圖形的編輯器,想使用拖拽實現快捷方式,沒想到還有點波折。已在qgraphicsvews中設定了setacceptdrops true 在執行時發現 當把拖拽的圖示放到qgraphicsvew...