hlp:640x480-小屏vx4齿轮泵代码提交
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
#if 1
|
||||
#include "picscene.h"
|
||||
#include <QDebug>
|
||||
#include <QRectF>
|
||||
PicScene::PicScene(QObject *parent) :
|
||||
QGraphicsScene(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void PicScene::setMode(Mode mode)
|
||||
{
|
||||
myMode = mode;
|
||||
}
|
||||
|
||||
void PicScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
|
||||
{
|
||||
if (mouseEvent->button() != Qt::LeftButton)
|
||||
return;
|
||||
|
||||
QGraphicsScene::mousePressEvent(mouseEvent);
|
||||
}
|
||||
|
||||
//! [9]
|
||||
|
||||
//! [10]
|
||||
void PicScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
|
||||
{
|
||||
#if 0
|
||||
if (myMode == InsertLine && line != 0) {
|
||||
QLineF newLine(line->line().p1(), mouseEvent->scenePos());
|
||||
line->setLine(newLine);
|
||||
} else if (myMode == MoveItem) {
|
||||
QGraphicsScene::mouseMoveEvent(mouseEvent);
|
||||
}
|
||||
#else
|
||||
QGraphicsScene::mouseMoveEvent(mouseEvent);
|
||||
|
||||
#endif
|
||||
}
|
||||
//! [10]
|
||||
|
||||
//! [11]
|
||||
void PicScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
|
||||
{
|
||||
#if 0 //不需要这个功能
|
||||
if (line != 0 && myMode == InsertLine) {
|
||||
QList<QGraphicsItem *> startItems = items(line->line().p1());
|
||||
if (startItems.count() && startItems.first() == line)
|
||||
startItems.removeFirst();
|
||||
QList<QGraphicsItem *> endItems = items(line->line().p2());
|
||||
if (endItems.count() && endItems.first() == line)
|
||||
endItems.removeFirst();
|
||||
|
||||
removeItem(line);
|
||||
delete line;
|
||||
//! [11] //! [12]
|
||||
|
||||
if (startItems.count() > 0 && endItems.count() > 0 &&
|
||||
startItems.first()->type() == DiagramItem::Type &&
|
||||
endItems.first()->type() == DiagramItem::Type &&
|
||||
startItems.first() != endItems.first()) {
|
||||
DiagramItem *startItem =
|
||||
qgraphicsitem_cast<DiagramItem *>(startItems.first());
|
||||
DiagramItem *endItem =
|
||||
qgraphicsitem_cast<DiagramItem *>(endItems.first());
|
||||
Arrow *arrow = new Arrow(startItem, endItem);
|
||||
arrow->setColor(myLineColor);
|
||||
startItem->addArrow(arrow);
|
||||
endItem->addArrow(arrow);
|
||||
arrow->setZValue(-1000.0);
|
||||
addItem(arrow);
|
||||
arrow->updatePosition();
|
||||
}
|
||||
}
|
||||
//! [12] //! [13]
|
||||
line = 0;
|
||||
#endif
|
||||
QGraphicsScene::mouseReleaseEvent(mouseEvent);
|
||||
//QRectF Rect=QGraphicsScene.itemsBoundingRect();
|
||||
//qDebug()<<"GraphicsScene itemsBoundingRect "<<itemsBoundingRect();
|
||||
//qDebug()<<"GraphicsScene toRect "<<itemsBoundingRect().pos();
|
||||
//qDebug()<<"GraphicsScene rect "<<sceneRect();
|
||||
//qDebug()<<"RectF.y "<<itemsBoundingRect().y();
|
||||
//qDebug()<<"RectF.height "<<itemsBoundingRect().height();
|
||||
//qDebug()<<"RectF.width "<<itemsBoundingRect().width();
|
||||
//qDebug()<<"asdfasdf";
|
||||
//qDebug()<<"GraphicsScene "<<sceneRect();
|
||||
//emit xmlContentChanged();
|
||||
}
|
||||
//! [13]
|
||||
|
||||
//! [14]
|
||||
bool PicScene::isItemChange(int type)
|
||||
{
|
||||
foreach (QGraphicsItem *item, selectedItems()) {
|
||||
if (item->type() == type)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//! [14]
|
||||
|
||||
void PicScene::keyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
QGraphicsScene::keyPressEvent(event);
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user