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

宁波外贸网站开发自助建站申请

宁波外贸网站开发,自助建站申请,散热器 东莞网站建设,网上银行建设银行1. setSceneRect 做什么用? setSceneRect是一个Qt中的函数,用于设置QGraphicsView中的场景矩形(QRectF)。 QGraphicsView是一个用于显示和编辑图形场景的控件,而setSceneRect函数用于设置场景矩形,即指定…

1. setSceneRect 做什么用?

setSceneRect是一个Qt中的函数,用于设置QGraphicsView中的场景矩形(QRectF)。

QGraphicsView是一个用于显示和编辑图形场景的控件,而setSceneRect函数用于设置场景矩形,即指定场景的可视区域的大小和位置。具体来说,它的作用有以下几个方面:

  • 定义场景的大小:通过设置场景矩形,可以确定场景的大小范围,限制可视区域的大小。只有在场景矩形内的图形项才会在QGraphicsView中显示。
  • 控制缩放和滚动:设置场景矩形后,可以使用QGraphicsView的缩放和滚动功能来在场景中导航。缩放操作将调整可视区域的大小,而滚动操作将改变可视区域的位置。
  • 处理场景坐标:场景矩形定义了场景坐标系统的范围,可以通过坐标转换函数(如mapToScene和mapFromScene)将场景坐标转换为视图坐标或反之。

通过调用setSceneRect函数,您可以根据需要设置场景的大小和位置,以控制QGraphicsView中的显示和交互行为。

2. setSceneRect 后,如何让graphicsView显示SceneRect 范围的全部图像?

设置了setSceneRect后,可以使用以下方法让graphicsView显示sceneRect范围的全部图像:

  • 使用fitInView函数:可以调用fitInView函数将sceneRect自适应地缩放到graphicsView的视图中。示例代码如下:
ui->graphicsView->fitInView(ui->graphicsView->sceneRect(), Qt::KeepAspectRatio);
  • 手动设置缩放级别:根据sceneRect的大小和graphicsView的大小,手动计算缩放比例,并使用scale函数进行缩放。示例代码如下:
QRectF sceneRect = ui->graphicsView->sceneRect();
QRectF viewRect = ui->graphicsView->viewport()->rect();
float scaleX = viewRect.width() / sceneRect.width();
float scaleY = viewRect.height() / sceneRect.height();
float scale = qMin(scaleX, scaleY);
ui->graphicsView->scale(scale, scale);
  • 设置graphicsView的alignment属性:将graphicsView的alignment属性设置为Qt::AlignCenter,可以确保sceneRect居中显示在graphicsView中。示例代码如下:
ui->graphicsView->setAlignment(Qt::AlignCenter);

这些方法可以根据需要选择使用,以确保sceneRect范围的全部图像在graphicsView中完整显示。

3. fitInView如何只缩放图形的尺寸,不改变线宽呢?

要在使用fitInView函数时只缩放图形的尺寸而不改变线宽,可以通过以下步骤实现:

  • 在调用fitInView函数之前,获取当前的缩放因子。
  • 调用fitInView函数进行自适应缩放。
  • 在缩放后,将线宽恢复到原始值的倒数。

以下是示例代码:

// 获取当前的缩放因子
float currentScaleFactor = ui->graphicsView->transform().m11();// 调用fitInView进行自适应缩放
ui->graphicsView->fitInView(ui->graphicsView->sceneRect(), Qt::KeepAspectRatio);// 计算需要还原的线宽比例
float lineWidthScaleFactor = 1.0 / ui->graphicsView->transform().m11();// 还原线宽
QGraphicsScene* scene = ui->graphicsView->scene();
foreach (QGraphicsItem* item, scene->items()) {item->setPen(QPen(item->pen().width() * lineWidthScaleFactor));
}

通过将线宽乘以缩放因子的倒数,可以保持线宽与图形尺寸的比例不变,实现只缩放图形的尺寸而不改变线宽。

http://www.ds6.com.cn/news/102777.html

相关文章:

  • 企业qq登录谷歌seo靠谱吗
  • 在百度上免费做网站页面指数基金怎么买才赚钱
  • 微信公众号推广平台信息流优化师是干什么的
  • wordpress点评站seo顾问服务咨询
  • 做电影网站需要空间吗做推广哪个平台好
  • 网站建设工具品牌有哪些站长聚集地
  • 网站管理系统下载网站链接交易
  • .gs域名做网站怎么样网站设计制作公司
  • 百度突然搜不到网站域名批量注册查询
  • 郴州做网站的专业营销团队公司
  • 小型手机网站建设企业seo综合查询工具
  • 百度做网站哪里可以学什么是搜索引擎营销
  • wp如何做网站地图自己怎么开发app软件
  • 百度官方网页seo软件优化工具软件
  • Adobe Muse 商业网站网络营销的认识与理解
  • 怎么做消费一卡通网站怎么让自己上百度
  • 长春专业做网站的公司有哪些雅思培训机构哪家好机构排名
  • 看b站24个小时直播间网络销售平台排名前十
  • 东莞南城网站建设公司怎么样星巴克网络营销案例分析
  • aws wordpress 免费站长工具seo优化系统
  • 兰州专业做网站的公司有哪些301313龙虎榜
  • 有没有做奥数题的网站关键词优化seo排名
  • ui做的好的网站百度竞价点击软件
  • 惠州做网站南京搜索引擎推广优化
  • 怎么做淘宝客采集网站近期时事新闻10条
  • 苏州做网站设计的公司列表网推广效果怎么样
  • 网站建设的素材处理方式百度推广收费
  • 怎么做微信里的网页网站链接北京营销公司比较好的
  • 公司经营范围网站开发及运营培训心得体会范文大全1000字
  • 中国建筑第八工程局官网seo是什么职业做什么的