首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式项目开发

    9.5 QGraphicsView视图框架

    9.5 QGraphicsView视图框架 Qt Graphics View 用于管理交互大量定制的 2D 图形对象,提供了可视化显示对象的视图 widget,并支持缩放和旋转功能。 Qt Graphics View框架结构主要包含三个类:场景类(QGraphicsScene)、视图类(QGraphicsView)、图元类(QGraphicsItem)。 其中,场景类(QGraphicsScene)是用于管理大量图元对象的容器,视图类(QGraphicsView)是用于显示场景中的图元对象。 ; scene->addRect(0,40,100,100); QGraphicsView *view=new QGraphicsView(scene); view->show(); 图 9-5-1

    85610编辑于 2022-01-12
  • 来自专栏ccf19881030的博客

    如何在QGraphicsView的边框上制作标尺?

    上网查了一些关于QGraphicsView的示例,stackoverflow上面有一篇帖子:How to make a ruler on the border of a QGraphicsView , 参考资料 How to make a ruler on the border of a QGraphicsView Ruler Qt QGraphicsView drawing demo-qdraw Graphics View Framework Code Editor Example 给QGraphicsView创建刻度轴

    2.5K10发布于 2021-04-19
  • 来自专栏嵌入式项目开发

    QT应用编程: QGraphicsView绘制图片作为背景

    一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、功能介绍 使用指定的图片作为QGraphicsView视图窗口的背景,并消除图元拖动时产生的残影。 *painter, const QRectF &rect) { if(views().count()==0)return; // 计算视窗的大小,消除图元拖动时出现的残影 QGraphicsView my_graphicsScene.h #ifndef GRAPHICSSCENE_H #define GRAPHICSSCENE_H #include <QGraphicsScene> #include <QGraphicsView setScene(scene); //设置场景 //设置图元更新模式,当图元发生改变时,更新整个视窗 ui->graphicsView->setViewportUpdateMode(QGraphicsView

    3.2K11编辑于 2022-01-07
  • 来自专栏嵌入式项目开发

    QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本

    一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、功能介绍 QGraphicsView+QGraphicsTextItem 实现在画布上动态输入,编辑文本。

    3.9K20编辑于 2022-01-07
  • 来自专栏嵌入式项目开发

    QT软件开发: 将QGraphicsView视图界面保存为图片

    需求: QGraphicsView 编辑完成之后,需要将界面保存为图片导出.

    1.4K10编辑于 2022-01-12
  • 【Qt 绘图控件为什么选择graphicsview,其它绘图控件可以缩放移动吗?】

    在 Qt 中,QGraphicsView 是一个强大的部件,它提供了一个可滚动的视图,用于显示 QGraphicsScene 中的内容。 QGraphicsView 支持用户与场景中的图形项进行交互,包括平移、缩放和旋转。这些交互功能是通过鼠标和键盘事件来实现的。 对于缩放,QGraphicsView 提供了 scale() 方法,允许你设置缩放因子。 除了 QGraphicsView,Qt 还提供了其他绘图控件,如 QWidget、QFrame 等,它们也可以进行缩放和移动,但这通常需要你自己处理更多的细节,比如手动重绘控件内容和处理用户输入事件。 QGraphicsView 由于其内置的交互功能和优化,通常是实现复杂交互式绘图应用的首选。

    11010编辑于 2026-01-23
  • 来自专栏繁依Fanyi 的专栏

    小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

    而使用QGraphicsView和QGraphicsScene组件可以实现更复杂的图形场景展示和交互,适用于绘图、图表和地图等应用领域。 展示图像和图形场景QGraphicsView是一个用于展示图像和图形场景的强大组件。 设置图像居中显示view.setAlignment(Qt.AlignCenter)# 显示QGraphicsView组件view.show()app.exec_()在上述代码中,我们创建了一个QGraphicsView 接着,将场景设置为QGraphicsView的场景,并使用setAlignment()方法使图像居中显示。最后,显示QGraphicsView组件并进入应用程序的事件循环。 下面是图像显示的后果,可以看到,QGraphicsView与QLabel 在显示图像时还是有一些区别的,我们从图中能看到的就比如QGraphics有一个滚动条,而QLabel没有;这主要是因为QGraphicsView

    4.2K40编辑于 2023-05-20
  • 来自专栏行走的机械人

    QT实现机器视觉最常用的图像查看器(源码)

    实现思路2就是借助QT的视图模型框架,通过重写自己的QGraphicsView类,就可以轻松实现一个如上文展示效果的图像查看器。 我们采用更为方便,也更为理解的方案2来实现。 调用也很简单,如下所示: //创建Scene QGraphicsScene* pScene = new QGraphicsScene(this); //创建View并为其绑定Scene QGraphicsView * pView = new QGraphicsView(this); pView->setScene(pScene); //使用我们的图像初始化一个Item QImage srcImage("C:\\Users 所以想实现我们文章开头的预期效果,并不是这么几行就可以搞定的,我们需要重写QGraphicsView类,实现我们预期的自定义功能,例如双击鼠标事件,背景绘制等等。 4、重写QGraphicsView类 对于如何重写,我们在文章里就不做详细说明了,代码就是最好的介绍。

    1.9K10编辑于 2024-03-04
  • 来自专栏Linux驱动

    52.Qt-Charts动态显示多条折线电压值(实现示波器效果)

    1.chartsView.h如下所示: #ifndef VIEW_H #define VIEW_H #include <QtWidgets/QGraphicsView> #include <QtCharts class QChart; QT_CHARTS_END_NAMESPACE class Callout; QT_CHARTS_USE_NAMESPACE class ChartsView: public QGraphicsView #define X_Width 5 //宽度5S ChartsView::ChartsView(int YRange, QWidget *parent) : QGraphicsView QGraphicsScene, parent), m_coordX(0), m_coordY(0), m_chart(0) { setDragMode(QGraphicsView size().height()- 20); m_Line[i]->setText(QString("测值%1").arg(i)); } } QGraphicsView

    2.5K21发布于 2020-01-15
  • 来自专栏半生瓜のblog

    【QT】图形视图、动画框架

    图形视图框架提供了基于图像项模型的模型视图编程方法,主要由场景、视图和图形项这三部分组成,这三部分分别由QGraphicsScene、QGraphicsView、QGraphicsItem这三个类来表示 常用接口: QGraphicsView::setForegroundBrush() //设置前景色 QGraphicsView::setBackgroundBrush() //设置背景色 QGraphicsView ::resize() //重置视图大小 QGraphicsView::show() //显示视图 QGraphicsView::setDragMode() //拖动场景,常以QGraphicsView 当创建一个自定义的图形项时,只需要考虑图形项的坐标系统,QGraphicsScene和QGraphicsView会完成其它所有的转换。 图像项的位置是指图像项的原点在其父图像项或场景中的位置。 视图的坐标 视图的坐标就是部件的坐标,视图坐标的每一个单位对应一个像素,原点总是在QGraphicsView视口的左上角,而右下角是宽高。所有的鼠标事件和拖放事件都是使用视图坐标来接收的。

    3.1K30编辑于 2023-05-13
  • 来自专栏跟Qt君学编程

    Qt官方示例-SVG查看器

      该示例允许用户加载SVG文件,并使用QGraphicsSvgItem在QGraphicsView中查看它们。 基于选定的渲染器,QGraphicsView使用QWidget或QGLWidget作为其视口。 还提供了三种渲染模式(native,opengl,image),其中QGraphicsView通过QImage间接绘制。这样就可以测试本机,栅格和OpenGL绘画引擎的绘制准确性和性能。 ?   

    2.9K20发布于 2020-06-04
  • 来自专栏嵌入式项目开发

    QT应用编程: Qt自定义界面并提升窗口部件基类

    3.1 新建一个子类: xxx.cpp文件 #include "graphicsView.h" my_graphicsView::my_graphicsView(QWidget *parent): QGraphicsView #ifndef GRAPHICSVIEW_H #define GRAPHICSVIEW_H #include <QWidget> #include <QGraphicsItem> #include <QGraphicsView include <QPaintEvent> #include <QMouseEvent> #include <QPainterPath> class my_graphicsView : public QGraphicsView

    4K30编辑于 2022-01-07
  • 来自专栏贾志刚-OpenCV学堂

    PyQt5中使用图元实现高效绘制场景

    Qt图形视图框架组件 Qt图形视图框架是基于Model-View的架构实现的,主要包含三个相关Qt对象组件分别是: QGraphicsView QGraphicsScene QGraphicsItem 其中QGraphicsScene可以看成是Model-View架构中的Model部分;QGraphicsView可以看成是Model-View架构中的View部分;每个Scene绑定到多个View、QGraphicsItem PyQt5 import QtCore from PyQt5 import QtGui import cv2 as cv import sys class CanvasPanel(QtWidgets.QGraphicsView __init__(parent) print("create my custom QGraphicsView...")

    94810编辑于 2024-05-10
  • 来自专栏Elsa的学习笔记

    Qt Designer基本控件介绍——Display Widgets(显示小部件)

    框架主要包含三个主要的类QGraphicsScene(场景)、QGraphicsView(视图)、QGraphicsItem(图元) 常用方法: setScene(): 设置场景,如果场景已经被设置到视图中 setCacheMode(): 设置缓存模式,这个属性控制视图的哪一部分存储在缓存中,QGraphicsView可以预存一些内容在QPixmap中,然后被绘制到视口上,这样做的目的是加速整体区域重绘的速度 setViewportUpdateMode(): 设置视口更新模式,QGraphicsView 使用这个属性来决定当场景改变或者暴露时候如何刷新场景的区域,通常不需要修改这个属性,但是在有些情况下做这个工作可以改进绘图性能 __init__(parent) # 设置窗口标题 self.setWindowTitle('练习 :QGraphicsView') # 设置窗口大小 Qt.black), QBrush(Qt.blue)) scene.addRect(220, 80, 200, 160, QPen(Qt.red)) self.view = QGraphicsView

    9.6K20发布于 2021-07-12
  • C++ Qt开发:Charts绘图组件概述

    其中,QChartView的父类是QGraphicsView,它负责管理数据集的显示。而QChart则是图表的主要类,用于定义图表的结构和样式。 setAnimationOptions(QChart::AnimationOptions options) 设置图表的动画选项 createDefaultGraphicsView() 创建默认的图形视图(QGraphicsView 此时会弹出如下所示的提示框,我们直接输入QChartView类名称,并点击添加按钮,最后选择提升按钮,此时组件将将被支持绘制图形; 为了能让后续的代码能够更更容易的被读着理解,此处还需要为读者提供一份QGraphicsView 组件的常用方法,如下表格是QGraphicsView的一些常用方法的概述: 方法 描述 QGraphicsView(QWidget *parent = nullptr) 默认构造函数,创建一个QGraphicsView 这些方法提供了对QGraphicsView的各种设置和操作,用于管理视图的外观和行为。可以根据实际需要选择适当的方法进行使用。

    4.1K10编辑于 2023-12-23
  • 来自专栏CSharp编程大全

    QT charts 动态刷新曲线图

    一般在窗口设计界面上使用QChartView时,先放置一个QGraphicsView组件,然后升级为QChartView。 在窗口设计界面上使用QChartView时,先放置一个QGraphicsView组件,然后升级为QChartView。 ?

    6.7K30发布于 2020-12-15
  • 来自专栏Python编程 pyqt matplotlib

    基于图形项的弹性节点程序

    QRadialGradient) from PyQt5.QtWidgets import (QApplication, QGraphicsItem, QGraphicsScene, QGraphicsView event): self.update() super(Node, self).mouseReleaseEvent(event) class GraphWidget(QGraphicsView ) self.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate) self.setRenderHint (QPainter.Antialiasing) self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse) self.setResizeAnchor(QGraphicsView.AnchorViewCenter) #创建个节点视图项 node1 = Node(self

    1.6K20发布于 2019-08-14
  • 来自专栏全栈程序员必看

    qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果

    作用就是画一个应用程序框架 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QtGui/QMainWindow> #include <QGraphicsView parent) { //初始化 mPressed = false; //get windows size GetScreenInfo(); view = new QGraphicsView ; } //用于button的单机 view->setScene(scene); //set drag mode //view->setDragMode(QGraphicsView ); view->setBackgroundBrush(QImage(":/images/shuibo2.jpg")); //view->setViewportUpdateMode(QGraphicsView ::BoundingRectViewportUpdate); //view->setCacheMode(QGraphicsView::CacheBackground); setCentralWidget

    2.5K10编辑于 2022-07-12
  • PyQt 多标签批量图片查看器开发纪实

    原因很简单:成熟稳定,文档资料多自带丰富的控件(QTabWidget、QGraphicsView 都很好用)可以自定义界面样式,做出不那么“老气”的界面最重要的,我用得比较顺手有了技术选型,接下来就可以进入正式的设计阶段了 于是,我改用更灵活的 QGraphicsView + QGraphicsScene。 PyQt5.QtGui import QPixmapfrom PyQt5.QtCore import Qtimport osclass ImageViewer(QGraphicsView): def ) self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse) self.load_image() def 过程中遇到的挑战主要有:QGraphicsView 的使用细节:要把图片居中、缩放体验要好,需要熟悉 fitInView、transformationAnchor 等 API。

    61710编辑于 2025-04-28
  • 来自专栏Python编程 pyqt matplotlib

    PyQt5 图形项的定义和交互(一)

    ,又或者需要对项进行动画处理,使用PyQt的图形视图类(QGraphicsView)比重新实现一个窗口部件的绘制事件更方便一些。 要使用图形视图类就必须创建一个场景(QGraphicsScene)。 场景纯粹是数据,必须与至少一个QGraphicsView对象相关联才能实现可视化。在场景中绘制的项都是QGraphicsItem的子类(图形项)。 QGraphicsItem, QGraphicsPixmapItem, QGraphicsScene, QGraphicsTextItem, QGraphicsView Dirty = True else: QGraphicsItem.keyPressEvent(self, event) class GraphicsView(QGraphicsView __init__(parent) self.setDragMode(QGraphicsView.RubberBandDrag) self.setRenderHint(QPainter.Antialiasing

    2.3K40发布于 2019-08-14
领券