過程: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...