91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 240KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-24
  • 語言: 其他
  • 標簽: Qt??QGraphicsSce??

資源簡介

CustomSense繼承QGraphicsScene,QGraphicsView,重寫了鼠標事件,在CustomSense上添加圖片并畫矩形標記出特定區域,是專門滿足這個需求寫的小測試例子,使用Qt5實現。

資源截圖

代碼片段和文件信息

#include?“customsense.h“
#include?“ui_customsense.h“

#include?
#include?
#include?



CustomScene::CustomScene(){
????item?=?new?QGraphicsRectItem();
????addItem(item);
}

//?自定義?Scene
void?CustomScene::mousePressEvent(QGraphicsSceneMouseEvent?*event)
{
????qDebug()?<????QGraphicsScene::mousePressEvent(event);
????if?(!event->isAccepted())?{
????????if?(event->button()?==?Qt::LeftButton)?{
????????????//?在?Scene?上添加一個自定義?item
????????????QPointF?point?=?event->scenePos();
????????????startPoint?=?point;
????????????qDebug()<<“startPoint:“<????????????isDrawing?=?true;
????????}?else?if?(event->button()?==?Qt::RightButton)?{
????????????//?檢測光標下是否有?item
????????????QGraphicsItem?*itemToRemove?=?NULL;
????????????foreach?(QGraphicsItem?*item?items(event->scenePos()))?{
????????????????if?(item->type()?==?QGraphicsRectItem::Type)?{
????????????????????itemToRemove?=?item;
????????????????????break;
????????????????}
????????????}
????????????//?從?Scene?上移除?item
????????????if?(itemToRemove?!=?NULL)
????????????????removeItem(itemToRemove);
????????}
????}
}

void?CustomScene::mouseMoveEvent(QGraphicsSceneMouseEvent?*event)
{
????QGraphicsScene::mouseMoveEvent(event);
????if(event->buttons()&Qt::LeftButton)??//如果鼠標左鍵按著的同時移動鼠標
????{
????????qDebug()?<
????????QPointF?point?=?event->scenePos();
????????endPoint?=?point;

????????if(endPoint.x()-?startPoint.x()>20&&endPoint.y()-?startPoint.y()>20)
????????{
????????????removeItem(item);
????????????QPen?p;
????????????p.setWidth(2);
????????????p.setColor(QColor(0?160?230));
????????????item->setPen(p);
????????????item->setRect(startPoint.x()?startPoint.y()?endPoint.x()-startPoint.x()?endPoint.y()-startPoint.y());
????????????addItem(item);
????????}
????}
}

void?CustomScene::mouseReleaseEvent(QGraphicsSceneMouseEvent?*event)
{
????if(event->button()==Qt::LeftButton)??//如果鼠標左鍵按著的同時移動鼠標
????{
????????QGraphicsScene::mouseMoveEvent(event);
????????qDebug()?<????????QPointF?point?=?event->scenePos();
????????endPoint?=?point;
????????qDebug()<<“endPoint:“<????}
}

void?CustomScene::keyPressEvent(QKeyEvent?*event)?{
????if?(event->key()?==?Qt::Key_Backspace)?{
????????//?移除所有選中的?items
????????qDebug()?<????????while?(!selectedItems().isEmpty())?{
????????????removeItem(selectedItems().front());
????????}
????}?else?{
????????QGraphicsScene::keyPressEvent(event);
????}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-20?09:29??CustomSence\
?????文件????????2765??2018-11-20?09:28??CustomSence\customsense.cpp
?????文件?????????683??2018-11-20?09:28??CustomSence\customsense.h
?????文件????????1092??2018-11-20?09:27??CustomSence\CustomSense.pro
?????文件???????23894??2018-11-20?09:29??CustomSence\CustomSense.pro.user
?????文件????????1471??2018-11-16?14:28??CustomSence\customsense.ui
?????文件??????239553??2018-11-19?13:35??CustomSence\image.jpg
?????文件??????????93??2018-11-16?16:27??CustomSence\image.qrc
?????文件?????????466??2018-11-20?09:29??CustomSence\main.cpp

評論

共有 條評論