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

  • 大小: 12KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽: QT??拖拉功能??

資源簡介

基于Qt軟件實現,從左邊窗口選擇圖片,然后拖拉到右邊窗口進行圖片得自由拼接。類似與Visio畫流程圖得簡單設計

資源截圖

代碼片段和文件信息

#include?“imageitem.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

PuzzlePartManager::PuzzlePartManager(QGraphicsScene?*scene)
????:?m_scene(scene)
{

}

void?PuzzlePartManager::addSourceItems(int?partId?PuzzleImageItem?*item)
{
????m_sourceItems.insert(partId?item);
}

void?PuzzlePartManager::removeItem(int?partId)
{
????QMap::iterator?it?=?m_sourceItems.find(partId);
????if(it?!=?m_sourceItems.end())
????{
????????PuzzleImageItem?*item?=?it.value();
????????m_sourceItems.remove(partId);
????????m_scene->removeItem(dynamic_cast(item));
????????item->deleteLater();
????}

????if(m_sourceItems.size()?==?0)
????{
????????QGraphicsSimpleTextItem?*info?=?new?QGraphicsSimpleTextItem(“Congratulations!“);
????????info->setPen(QPen(Qt::blue));
????????info->setPos(10?10);
????????QFont?font?=?qApp->font();
????????font.setPointSize(16);
????????info->setFont(font);
????????m_scene->addItem(info);
????}
}



PuzzleImageItem::PuzzleImageItem(const?QString?&?imagePath?int?w
?????????????????????????????????int?h?int?partId)
????:?m_image(imagePath)
?????m_width(w)
?????m_height(h)
?????m_partId(partId)
{
????setCursor(Qt::OpenHandCursor);
????setAcceptedMouseButtons(Qt::LeftButton);
}

QRectF?PuzzleImageItem::boundingRect()?const
{
????return?QRectF(0?0?m_width?m_height);
}

void?PuzzleImageItem::paint(QPainter?*painter?const?QstyleOptionGraphicsItem?*option?QWidget?*widget)
{
????Q_UNUSED(option);
????Q_UNUSED(widget);
????painter->drawImage(0?0?m_image);
}

void?PuzzleImageItem::mousePressEvent(QGraphicsSceneMouseEvent?*event)
{
?????setCursor(Qt::ClosedHandCursor);//鼠標放置到圖片上的樣子??點擊時樣式
}

void?PuzzleImageItem::mouseMoveEvent(QGraphicsSceneMouseEvent?*event)
{

????if?(QLineF(event->screenPos()?event->buttonDownScreenPos(Qt::LeftButton))
????????.length()?????????return;
????}

????QDrag?*drag?=?new?QDrag((Qobject*)event->widget());
????QMimeData?*mime?=?new?QMimeData;
????mime->setImageData(m_image);
????mime->setData(QString(QmetaType::typeName(QmetaType::Int))?QString(“%1“).arg(m_partId).toLatin1());
????drag->setMimeData(mime);

????drag->setPixmap(QPixmap::fromImage(m_image));
????drag->setHotSpot(QPoint(15?30));???//拖動時圖標顯示的位置(圖標指的是圓加一斜杠,禁止圖標)


????drag->exec();
????setCursor(Qt::OpenHandCursor);
}

void?PuzzleImageItem::mouseReleaseEvent(QGraphicsSceneMouseEvent?*event)
{
????setCursor(Qt::OpenHandCursor);???//不點擊的樣式
}


PuzzlePart::PuzzlePart(PuzzlePartManager?*mgr?int?w?int?h?int?partId?QGraphicsItem?*parent)
????:?QGraphicsobject(parent)
?????m_sourcePartManager(mgr)
?????m_width(w)
?????m_height(h)
?????m_partId(partId)
?????m_dragOver(false)
{
????setAcceptDrops(true);
}

QRect

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-14?16:27??tryPuzzel\
?????文件????????2772??2017-11-30?21:49??tryPuzzel\boat.png
?????文件????????2963??2017-11-30?21:49??tryPuzzel\car.png
?????文件????????4476??2018-03-14?16:27??tryPuzzel\imageitem.cpp
?????文件????????1961??2018-03-14?14:50??tryPuzzel\imageitem.h
?????文件?????????122??2018-03-14?13:45??tryPuzzel\images.qrc
?????文件????????1517??2018-03-14?14:50??tryPuzzel\main.cpp
?????文件?????????225??2018-03-14?13:47??tryPuzzel\tryPuzzel.pro
?????文件???????23852??2018-03-14?16:27??tryPuzzel\tryPuzzel.pro.user

評論

共有 條評論