资源简介
if(isSelected())
{
if(m_dir == Right && (event->buttons() & Qt::RightButton)){
double ang = 0;
double x = m_cenPt.x()-m_movePoint.x();
double y = m_cenPt.y()-m_movePoint.y();
if(abs(x) > 0.001){
if(x < 0){
ang = atan(y/x)*180/PI; //通过弧度求角度
if(ang < 0)
ang = atan(y/x)*180/PI 360; //通过弧度求角度
}
else
ang = atan(y/x)*180/PI 180; //通过弧度求角度
}
double oldAng = rotation();
setTransformOriginPoint(m_cenPt); //设置旋转中心
setRotation(ang oldAng); //旋转角度,如果不加oldAng,则角度旋转不对
}
else if(m_selectMod == SizeMode){
resizeTo(m_dir,event->scenePos());
}
else
QGraphicsItem::mouseMoveEvent(event); //如果在拉伸时也调用,则会位置设置不对
}
代码片段和文件信息
#include “graphicscircleitem.h“
#include
#include
#include
#include
#include
GraphicsCircleItem::GraphicsCircleItem(const QRect &rect QGraphicsItem *parent) :
QGraphicsItem(parent)
{
m_rect = rect;
m_radius = rect.width()/2;
m_dir = Center;
m_selectMod = NoMode;
m_pressPoint = QPointF();
setFlags(QGraphicsItem::ItemIsSelectable |
QGraphicsItem::ItemSendsGeometryChanges |
QGraphicsItem::ItemIsFocusable |
QGraphicsItem::ItemIsMovable);
setAcceptHoverEvents(true);
}
QRectF GraphicsCircleItem::rect() const
{
qreal adjust = 2;
return QRectF(QPointF(m_rect.left()-adjustm_rect.top()-adjust)
QPointF(m_rect.right()+adjustm_rect.bottom()+adjust));
}
QRectF GraphicsCircleItem::boundingRect() const
{
return rect();
}
void GraphicsCircleItem::paint(QPainter *painter const QstyleOptionGraph
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7740 2019-11-07 19:06 testGraphicsView\graphicscircleitem.cpp
文件 1599 2019-11-07 09:32 testGraphicsView\graphicscircleitem.h
文件 7695 2019-11-07 19:28 testGraphicsView\graphicsellipseitem.cpp
文件 1714 2019-11-07 19:06 testGraphicsView\graphicsellipseitem.h
文件 8128 2019-11-07 19:28 testGraphicsView\graphicsrectitem.cpp
文件 1744 2019-11-07 19:06 testGraphicsView\graphicsrectitem.h
文件 2695 2019-11-07 15:45 testGraphicsView\graphicsscene.cpp
文件 748 2019-11-07 13:28 testGraphicsView\graphicsscene.h
文件 1358 2019-11-07 18:18 testGraphicsView\graphicsview.cpp
文件 369 2019-11-07 17:42 testGraphicsView\graphicsview.h
文件 158112 2019-03-19 12:45 testGraphicsView\img.jpg
文件 183 2019-11-06 10:21 testGraphicsView\main.cpp
文件 1549 2019-11-07 15:25 testGraphicsView\mainwindow.cpp
文件 714 2019-11-07 14:40 testGraphicsView\mainwindow.h
文件 3604 2019-11-07 11:37 testGraphicsView\mainwindow.ui
文件 467 2019-11-07 17:41 testGraphicsView\mydef.h
文件 1578 2019-11-07 11:10 testGraphicsView\testGraphicsView.pro
文件 46083 2019-11-07 19:36 testGraphicsView\testGraphicsView.pro.user
目录 0 2019-11-07 19:36 testGraphicsView
----------- --------- ---------- ----- ----
246080 19
- 上一篇:真彩工具条
- 下一篇:MFC图片操作(PRO5_PNGDlg.cpp)
相关资源
- qt 线程操作
- qt 抽屉式对话框开发教程
- 基于Qt的VTK应用程序代码
- qt写扫雷程序
- qt源码ftp文件上传
- QT4.8画曲线、饼图、棒图
- Qt4 图形设计与嵌入式开发 源代码
- qt tabwidget
- 多窗口文本工具(qt源码)
- Qt5+QtChart绘制饼图
- qt 快速读取excel代码
- 对qt窗体进行简单操作(修改lable的值
- Qt五子棋小游戏(源码+截图)
- 基于QT5的图形化界面开发(NeuFtp)
- 监视文件目录变化(qt源码)
- QT的TCP服务器DEMO
- TQQTableView 实现qq效果
- qt5 旋转(.patch文件源码)
- 基于Qt Phonon实现的视频播放器,简单
- C++实战源码-图像旋转
- C++实战源码-可任意旋转的文字
- C++实战源码-空间旋转字体
- C++实战源码-旋转的文字
- QT多线程处理图像变换和图像融合
- VC++截屏,并截屏图像旋转(简单)
- C++ GUI QT4 随书源码
- Qt线程(复制文件)
- qt 身份证识别 源码
- c++ 旋转的图像(遮罩贴图)
- 基于QT5开发的一款远程监控系统
评论
共有 条评论