当前位置: 首页 > news >正文

做的网站不能放视频怎样建网上商城

做的网站不能放视频,怎样建网上商城,如何建设一个静态网站,网站空间商拿不回数据一 简述 Graphics View提供了一个平台#xff0c;用于大量自定义 2D 图元的管理与交互#xff0c;框架包括一个事件传播架构#xff0c;支持场景 Scene 中的图元 Item 进行精确的双精度交互功能。Item 可以处理键盘事件、鼠标按下、移动、释放和双击事件#xff0c;同时也…一 简述 Graphics View提供了一个平台用于大量自定义 2D 图元的管理与交互框架包括一个事件传播架构支持场景 Scene 中的图元 Item 进行精确的双精度交互功能。Item 可以处理键盘事件、鼠标按下、移动、释放和双击事件同时也能跟踪鼠标移动。 和 Google 地图一样在管理大量 Item 的时候通常需要 View 具有交互平移/缩放/旋转功能。 二 交互式 QGraphicsView 便于以后复用实现一个交互式 QGraphicsView - InteractiveView。 主要功能包括 平移 1. 方式一鼠标左键按下然后移动 2.方式二按下上/下/左/右键分别向各个方向移动 缩放 1. 方式一鼠标滚轮向上滚动放大向下滚动缩小 2. 方式二按加号键带 Shift进行放大按减号键缩小 旋转 按空格键逆时针旋转回车键顺时针旋转 三 效果 四 源码 interactive_view.h #ifndef INTERACTIVE_VIEW_H #define INTERACTIVE_VIEW_H #include QGraphicsView class QWheelEvent; class QKeyEvent; class InteractiveView : public QGraphicsView {Q_OBJECT public:explicit InteractiveView(QWidget *parent 0);// 平移速度void setTranslateSpeed(qreal speed);qreal translateSpeed() const;// 缩放的增量void setZoomDelta(qreal delta);qreal zoomDelta() const; protected:// 上/下/左/右键向各个方向移动、加/减键进行缩放、空格/回车键旋转void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;// 平移void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;// 放大/缩小void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; public Q_SLOTS:void zoomIn(); // 放大void zoomOut(); // 缩小void zoom(float scaleFactor); // 缩放 - scaleFactor缩放的比例因子void translate(QPointF delta); // 平移 private:Qt::MouseButton m_translateButton; // 平移按钮qreal m_translateSpeed; // 平移速度qreal m_zoomDelta; // 缩放的增量bool m_bMouseTranslate; // 平移标识QPoint m_lastMousePos; // 鼠标最后按下的位置qreal m_scale; // 缩放值 }; #endif // INTERACTIVE_VIEW_H 平移速度默认为 1.0可以使用 setTranslateSpeed() 来改变。缩放的增量大小也可以使用 setZoomDelta() 改变。 interactive_view.cpp #include QWheelEvent #include QKeyEvent #include interactive_view.h #define VIEW_CENTER viewport()-rect().center() #define VIEW_WIDTH viewport()-rect().width() #define VIEW_HEIGHT viewport()-rect().height() InteractiveView::InteractiveView(QWidget *parent): QGraphicsView(parent),m_translateButton(Qt::LeftButton),m_scale(1.0),m_zoomDelta(0.1),m_translateSpeed(1.0),m_bMouseTranslate(false) {// 去掉滚动条setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);setCursor(Qt::PointingHandCursor);setRenderHint(QPainter::Antialiasing);setSceneRect(INT_MIN/2, INT_MIN/2, INT_MAX, INT_MAX);centerOn(0, 0); } // 平移速度 void InteractiveView::setTranslateSpeed(qreal speed) {// 建议速度范围Q_ASSERT_X(speed 0.0 speed 2.0,InteractiveView::setTranslateSpeed, Speed should be in range [0.0, 2.0].);m_translateSpeed speed; } qreal InteractiveView::translateSpeed() const {return m_translateSpeed; } // 缩放的增量 void InteractiveView::setZoomDelta(qreal delta) {// 建议增量范围Q_ASSERT_X(delta 0.0 delta 1.0,InteractiveView::setZoomDelta, Delta should be in range [0.0, 1.0].);m_zoomDelta delta; } qreal InteractiveView::zoomDelta() const {return m_zoomDelta; } // 上/下/左/右键向各个方向移动、加/减键进行缩放、空格/回车键旋转 void InteractiveView::keyPressEvent(QKeyEvent *event) {switch (event-key()) {case Qt::Key_Up:translate(QPointF(0, -2)); // 上移break;case Qt::Key_Down:translate(QPointF(0, 2)); // 下移break;case Qt::Key_Left:translate(QPointF(-2, 0)); // 左移break;case Qt::Key_Right:translate(QPointF(2, 0)); // 右移break;case Qt::Key_Plus: // 放大zoomIn();break;case Qt::Key_Minus: // 缩小zoomOut();break;case Qt::Key_Space: // 逆时针旋转rotate(-5);break;case Qt::Key_Enter: // 顺时针旋转case Qt::Key_Return:rotate(5);break;default:QGraphicsView::keyPressEvent(event);} } // 平移 void InteractiveView::mouseMoveEvent(QMouseEvent *event) {if (m_bMouseTranslate){QPointF mouseDelta mapToScene(event-pos()) - mapToScene(m_lastMousePos);translate(mouseDelta);}m_lastMousePos event-pos();QGraphicsView::mouseMoveEvent(event); } void InteractiveView::mousePressEvent(QMouseEvent *event) {if (event-button() m_translateButton) {// 当光标底下没有 item 时才能移动QPointF point mapToScene(event-pos());if (scene()-itemAt(point, transform()) NULL) {m_bMouseTranslate true;m_lastMousePos event-pos();}}QGraphicsView::mousePressEvent(event); } void InteractiveView::mouseReleaseEvent(QMouseEvent *event) {if (event-button() m_translateButton)m_bMouseTranslate false;QGraphicsView::mouseReleaseEvent(event); } // 放大/缩小 void InteractiveView::wheelEvent(QWheelEvent *event) {// 滚轮的滚动量QPoint scrollAmount event-angleDelta();// 正值表示滚轮远离使用者放大负值表示朝向使用者缩小scrollAmount.y() 0 ? zoomIn() : zoomOut(); } // 放大 void InteractiveView::zoomIn() {zoom(1 m_zoomDelta); } // 缩小 void InteractiveView::zoomOut() {zoom(1 - m_zoomDelta); } // 缩放 - scaleFactor缩放的比例因子 void InteractiveView::zoom(float scaleFactor) {// 防止过小或过大qreal factor transform().scale(scaleFactor, scaleFactor).mapRect(QRectF(0, 0, 1, 1)).width();if (factor 0.07 || factor 100)return;scale(scaleFactor, scaleFactor);m_scale * scaleFactor; } // 平移 void InteractiveView::translate(QPointF delta) {// 根据当前 zoom 缩放平移数delta * m_scale;delta * m_translateSpeed;// view 根据鼠标下的点作为锚点来定位 scenesetTransformationAnchor(QGraphicsView::AnchorUnderMouse);QPoint newCenter(VIEW_WIDTH / 2 - delta.x(), VIEW_HEIGHT / 2 - delta.y());centerOn(mapToScene(newCenter));// scene 在 view 的中心点作为锚点setTransformationAnchor(QGraphicsView::AnchorViewCenter); }
http://www.pierceye.com/news/14761/

相关文章:

  • 网站企业建设工程信息在什么网站发布
  • 网站sessionwordpress分类目录显示摘要
  • 建行赤峰市分行 - 欢迎访问中国建设银行网站推广app的营销策略
  • 做淘宝是不是要两根网站杭州网络
  • 做家居商城网站百度全静态生成技术
  • phpcms做视频网站承德论坛网
  • 青岛手机建站模板网站建设类书籍
  • 网站推广神器pc网站 公众号数据互通
  • wordpress多站点详细设置(图解)wordpress在哪里下载地址
  • 怎么做网站的分类目录网络设计教程
  • 怎么在自己电脑做网站网页版传奇合击
  • 临沂网站制作企业h5 做移动端网站
  • 厦门网站建设多少钱卖挂的网站怎么做
  • wordpress网站如何提速wordpress 仿制
  • 电子商务网站建设与管理的论文总结湘潭新思维网站
  • 网站建设的售后服务网站开发类书籍
  • 搭建英文网站河南省南阳市建设局网站
  • 官方网站开发合同wordpress过滤html标签了
  • html静态网站开发个人博客智慧团建管理员登录入口
  • 安平谁做网站好好的网站设计培训班
  • 免费开源网站建设系统贺兰网站建设
  • 成都做整站优化长春网站制作系统
  • 咸阳学校网站建设联系电话无锡网站建设选千客云网络
  • 邢台做网站优化价格建站开始的前6个月多少外链最合适
  • 有了网站模板 还要怎样做做跨境网站
  • 简单的网站制作代码网站建设投票系统总结
  • 做网站wzjseowordpress tag 收录
  • 企业门户网站建设 验收毕业设计论文网站开发需要多少
  • 网站建设优化服务方案怎样做网络推广方案服务
  • 建立网站加强家园沟通和联系的做法有何利弊wordpress笔记