关于QGraphicsView里使用QGraphicsScene背景图片平铺的问题

QT之QGraphicsView详细介绍 是 Qt GUI 库中的一个核心类,它是 Qt 图形视图框架的一部分,主要用于可视化地显示中的内容。QGraphicsView 提供了一个灵活且可定制的二维图形界面,支持丰富的交互功能,如平移、缩放、旋转,并能够管理和布局复杂的图形场景。基本特性:视图与场景分离类本身负责渲染和显示图形场景 (),而场景则负责存储和管理所有的图形项 (),这些图形项可以是文本、形状、图片等任何可视化元素。视口与坐标系统QGraphicsView 内部有一个视口,视口映射的是场景的部分或全部内容。 阅读详情



在QGraphicsView里默认显示QGraphicsScene的时候是平铺的,如果图片尺寸过小就会平铺,如果大于QGraphicsView的尺寸,就会自动填充。

后来试了试,找到了解决方法,分享一下:

1.QGraphicsView设置一下显示位置

ui->graphicsView->setAlignment(Qt::AlignLeft | Qt::AlignTop);//这里是左上角方式显示


2.光设置1是不行的,还要设置QGraphicsScene。

重新QGraphicsScene的drawBackground函数。

void QFormScene::drawBackground ( QPainter * painter, const QRectF & rect )
{
    painter->drawImage(0,0, *mBkgImage);
}

1.2都要设置,只setAlignment但是不重新drawBackground 没有用;只重写drawBackground 但不设置setAlignment也没有用。




Qt QGraphicsScene绘制背景图片,并解决item移动破坏背景问题。 今天尝试了一个Qt的QGraphics框架,框架的概念如下: 具体的框架介绍不是本文的重点,就不多介绍,本文要解决的问题是在scene上绘制背景图片,并解决item移动破坏背景的问题。 毕竟scene单纯一个 this->sce->setBackgroundBrush(QColor(240,240,240)); 设置背景颜色实在太过单调。 记录的思路如下: 今天主要成功设置了开机动画的背景。如何设置背景?从view,scene,item模型可以看出,背景应该在scene设置,百.. 阅读详情

相关推荐

[Qt学习笔记]QGraphicsView实现背景的绘制和前景图像的绘制

然后在Scene类中重新定义drawBackGround函数,这里直接使用重写的函数来实现自己改造背景的功能这里定义了一个间距为10像素的网格线路,

fengyaowuhui的博客 1732

background qt 设置平铺,使用QGraphicsScene和QGraphicsView进行平铺

I'm creating a image visualizer that open large images(2gb+) in Qt.I'm doing this by breaking the large image into several tiles of 512X512. I then load a QGraphicsScene of the original image size and...

weixin_30093159的博客 497

QT图形视图框架——QGraphicsView/QGraphicsScene/QGraphicsItem

图形视图框架 1、功能:管理数量庞大的自定义2D图形项 2、组成:视图(QGraphicsView)+场景(QGraphicsScene)+图形项(QGraphicsItem) 场景(QGraphicsScene) 1、功能:图形项QGraphicsItem对象的容器,可以调QgraphicsScene::addItem()将图形项添加到场景中,QGraphicsScene::items()返回符...

weixin_38602865的博客 1381

QGraphicsView背景图片设置,Qt界面美化

偶然看到WPS上的流程图画面比较好看,决定研究下,网上看了很多比较复杂 直接上代码,一句搞定,背景会自动拼接不留缝隙,图元缩放也不影响 setStyleSheet("background: rgba(0,0,0,0);border:0px;background-image: url(:/Form/Imag/VeiwBack.jpg);"); 关键点: 1、将背景设置为透明 2、直接贴图background-image 看图说话 原图 修改前 修改后 ...

lidengfeng0ff的专栏 4316

Qt QWidget旋转实现:从paintEvent到QGraphicsView的完整指南

在GUI开发中,控件的几何变换是创建动态界面的基础技术之一。其核心原理是通过坐标系的矩阵变换,改变视觉元素的渲染位置和方向,从而实现旋转、缩放等效果。这项技术的工程价值在于能够在不改变底层逻辑结构的前提下,为界面注入丰富的视觉表现力,提升用户体验。在Qt框架中,控件的旋转需求常见于仪表盘、动态图标、交互动效等场景。针对QWidget的旋转,开发者主要面临两种技术路径的选择:一是通过重写paintEvent进行视觉绘制层面的变换,二是利用QGraphicsView框架实现真正的几何变换。前者适用于自定义绘制的

weixin_34289454的博客 415

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

一、环境介绍 QT版本: 5.12.6 **操作系统: ** win10 64位 二、功能介绍 使用指定的图片作为QGraphicsView视图窗口的背景,并消除图元拖动时产生的残影。 思路: 派生QGraphicsScene类,重写drawBackground函数。 三、源代码 3.1 my_graphicsScene.cpp #include "my_graphicsScene.h" my_graphicsScene::my_graphicsScene(QWidget *parent): QGraph

4828

可以给QGraphicsView设置一个背景图片吗

可以给QGraphicsView设置一个背景图片吗

xie__jin__cheng的博客 781

QGraphicsView实现滑动窗体:场景视图架构与缩放优化

滑动窗体是图形界面中的常见交互需求,传统QScrollArea仅支持滚动浏览,面对大量可交互图元与缩放场景常出现性能瓶颈。QGraphicsView基于Model/View架构,通过QGraphicsScene统一管理图元,以视口映射实现高效平移、缩放与惯性滑动。其底层BSP树索引和局部重绘机制,使数千图元仍能保持流畅交互,广泛适用于地图瓦片展示、组态编辑器、流程图工具等场景。从架构原理出发,解析Scene、View、Item三角关系,阐述缩放锚点修正、惯性参数调优、坐标转换等关键实现,并针对白屏、闪烁、事

weixin_30047059的博客 305

Qt 图形视图框架功能详解QGraphicsScene、QGraphicsView 和 QGraphicsItem

在 main.cpp 文件中先添加头文件运行程序可以看到自定义的图形项(如红色小方块)出现在了视图的正中间,背景图片的位置也有所变化,这些问题会在后续的坐标系统中进行讲解。如果只想添加简单的图形项,也可以直接使用图形视图框架提供的标准图形项,它们的效果如图所示。标准图形项通过上述步骤,即可实现自定义的图形项,满足在 Qt 图形视图框架中展示个性化图形元素的需求,为各种复杂图形界面应用开发提供基础。通过和。

Zy100Papa的博客 1545

Cursor 详细使用

Cursor 是一款基于 VSCode 开发的 AI 驱动代码编辑器,集成 GPT-4、Claude3.5 等先进 LLM,具备代码补全、生成、解释、调试等功能,可提升开发效率和代码质量。3. 代码编辑:在编辑区编写代码,利用快捷键提升效率,如 Ctrl+Space 触发智能代码补全、Ctrl+K 润色或修改代码、Ctrl+L 智能问答与代码编辑。3. 代码解释:选中代码,按 Ctrl+L,输入如 “解释这段代码的功能”,Cursor 会给出详细解释。

坚持写博客,大家的关注是我前进的动力! 4817

网络流量监测技术

NetFlow是Cisco公司提出的网络数据包交换技术,该技术首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。  随着宽带互联网在中国 的迅速发展,全国各大电信运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长。电信运营商需要通过可靠、有效的网络业 务流量监测系统对其网络以及网络所承载的各类业务进行及时、准

红杉树(ecitnet)的博客 5540

QGraphicsView、QGraphicsScene和QGraphicsItem图形视图框架(二)疑难杂症

设置场景的背景图片时,采用setBackgroundBrush()方法和重写drawBackground()函数得到的结果很不一样,而且通过setSceneRect设置场景原点位置之后得到的结果也有很大区别,查了很多资料也没有查到。如下图第一个和第三个中重写了QGraphicsScene的drawBackground()函数,区别在于第一个的场景原点在左上角,第三个的原点在中心。

m0_67254672的博客 1651

保姆级教程:用SAP PS管理电梯/大型设备项目(ETO/ATO模式)从成本收集到开票结算

本文详细解析了SAP PS模块在ETO/ATO项目中的全流程成本管理实践,特别针对电梯/大型设备制造行业。从成本收集到开票结算,通过WBS元素、网络活动等核心架构设计,结合F-02、CJ20N等事务代码,实现设计、生产、物流及现场服务各阶段的精准成本控制,助力企业提升项目利润率与财务效率。

weixin_30444105的博客 457

解决使用QGraphicsScene在外部设置背景图片,移动QGraphicsItem时出现残影,背景图片平铺

【代码】解决使用QGraphicsScene在外部设置背景图片,移动QGraphicsItem时出现残影,背景图片平铺。

weixin_44428033的博客 1302

MRST开源油藏模拟:从入门到精通的全流程指南

本文全面介绍了MRST开源油藏模拟工具的使用方法,从环境搭建到核心功能实战,再到性能优化和工业级应用。MRST作为一款基于MATLAB的开源工具,为油藏工程师提供了强大的数值模拟能力,特别适合教学和科研场景。文章还分享了二次开发技巧和常见问题解决方案,帮助读者快速掌握油藏模拟技术。

beer8的博客 328

通讯软件002——快速使用modscan进行modbus调试

快速使用modscan进行modbus调试

zhouwl72的博客 1032

QGraphicsScene 和内部控件的坐标关系

QGraphicsScene 和内部控件的坐标关系

xie__jin__cheng的博客 408

Altium Designer (AD) 设计软件高频面试题及参考答案(3万字长文)

在Altium Designer(AD)中,设计复用是一种关键的策略,它允许设计师在多个项目中重复使用经过验证的设计元素,如原理图符号、PCB布局、元器件封装和设计规则集。在Altium Designer (AD) 中,手动布线和交互式布线是PCB设计中常见的两种布线模式,它们提供了设计师对布线路径的直接控制,特别是在处理复杂或关键信号路径时尤为有用。在Altium Designer (AD) 中进行电路级仿真是一项重要的设计验证步骤,它允许设计师在实际制造之前对电路的行为进行预测和分析。

大模型大数据攻城狮的专栏 4783

QGraphicsScene的坐标矫正

在用一个QGraphicsScene做一个工具发现他的坐标我们经常用到的那样,而是原点在左上角的位置,正x方向朝右,而正y方向是朝下的,这就需要做两个工作,一个是将坐标原点放到试图的正中间而不是左上角,第二个将y轴朝上,而不是朝下,这样的话就更符合我们一般人对坐标系统的认识,关键里面的item的值,更符合我门熟悉的那个坐标系统。 将坐标原点会中心的代码如下: class ItemGraphicsScene(QtGui.QGraphicsScene): def __init__(self):

lulongfei172006的专栏 1904

【C2000系列DSP的Bootloader详解】如何打包源文件为库文件且加密仅授权使用,一步步教你如何实现

如果想要在 TI 的 CCS 开发环境中为 C2000 系列 MCU 生成 lib 库文件,并对这些库文件进行加密保护,确保只有授权方(持有密钥)才能调用和使用,以此保护源代码的知识产权。

昔时扬尘处 177

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

QGgraphicsView鼠标缩放

/20260615 有问题 ui->teach_graphicsView->setSceneRect(ui->teach_graphicsView->mapToScene(this->rect()).boundingRect());//调整scene,使得scene和view一直,主要是为了排除掉scroll。// 获取当前鼠标相对于scene的位置;// 获取当前的鼠标所在的view坐标;// 2. 定义最小和最大缩放比例。// 20260615 鼠标缩放。// 2. 计算缩放因子。

qq_23136415的博客 216

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

QT5中运行QT4场景程序 QGraphicsItem *QGraphicsScene::itemAt 函数报错的解决

#include <QApplication> #include <QGraphicsScene> #include <QGraphicsRectItem> #include <QDebug> #include <QGraphicsView> #include <QPainter> //QT5 添加 #includ...

weixin_30832143的博客 659

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

我的QT Creator学习笔记(二十三)——图形视图

Qt提供了图形视图框架(Graphics View Framework)、动画框架(The Animation Framework)和状态机框架(The State Machine Framework)来实现更加高级的图形和动画应用。 一、图形视图框架的结构 图形视图框架提供了一个居于图形项的模型视图编程方法,主要由场景、视图和图形项三部分组成,这三部分分别由QGraphicsScene、QGraphicsView和QGraphicsItem这3个类来表示。多视图可以看成一个场景,场景中包含各种各样几何

sinat_41928334的博客 578

graf示教界面技术累积

QGraphicsView上设置QGraphicsScene,QGraphicsScene上设置背景图片、设置新增的点和绘制点与点之间的线;3.所有的点都是按着Ctrl+鼠标左键生成的;注意需要注册事件: this->installEventFilter(this);如下,为了计算实际加工位置,我对型材label高度和实际型材高度做了计算;1.如图,实现在坐标系上放置图片,并绘制加工点和加工轨迹;2.使用QGraphicsView。

qq_23136415的博客 287

qt 关于设置背景颜色,和背景透明的方法

qt 关于设置背景颜色,和背景透明的方法

xie__jin__cheng的博客 5466
上一篇: mac上使用qt,进行输入法的开发
下一篇: MFC检测串口插拔
dinjay
博客等级 码龄18年 2238粉丝 22原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值