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

控件旋转90度,并跟随大小缩放

控件旋转角度,并跟随缩放改变大小

  • 背景
  • 使用控件
  • 结果

背景

一个项目需求,需要旋转某个控件90使用,在网上找了很多资料,没有特别合适的,自己试水试了一天半,终于弄了个大概其,特此记录

使用控件

  • GraphicsView(试图),QGraphicsScene(场景),QGraphicsProxyWidget
  • 实现旋转 主要就是往GraphicsView(试图) 里面的 QGraphicsScene(场景)添加一个可以旋转的控件QGraphicsProxyWidget,然后旋转试图,实现控件旋转,通过试图的fitInView函数实现控件缩放。
  • 然后出先了个问题 ,不能跟随界面大小自动变化。
  • 解决办法,自定义一个GraphicsView类,重写resizeEvent方法

结果

在这里插入图片描述

缩放后
在这里插入图片描述


from PyQt5.QtWidgets import QApplication, QGraphicsScene, QGraphicsView, QLabel, QGraphicsProxyWidget, QVBoxLayout, \QWidget
from PyQt5.QtCore import Qt
from jys.pyqtwidget.pyqtchart_handel import ChartBaseclass CustomGraphicsView(QGraphicsView):def resizeEvent(self, event):super().resizeEvent(event)self.fitInView(self.scene().sceneRect(), Qt.KeepAspectRatio)app = QApplication([])
scene = QGraphicsScene()
view = CustomGraphicsView()
view.setScene(scene)
# 创建一个QLabel,并将其作为子部件添加到QGraphicsProxyWidget
label = ChartBase()
proxy = QGraphicsProxyWidget()
proxy.setWidget(label)scene.addItem(proxy)view.rotate(-90)  # 旋转视图view.fitInView(view.scene().sceneRect(), Qt.KeepAspectRatio)view.show()
app.exec_()
http://www.lryc.cn/news/106131.html

相关文章:

  • 软件外包开发的PHP开发框架
  • D2L学习记录-10-词嵌入word2vec
  • 海外独立站怎么搭建?7个海外独立站搭建指南
  • flask中实现restful-api
  • Centos7 安装man中文版手册
  • untiy代码打压缩包,可设置密码
  • 【iOS】—— UIKit相关问题
  • Linux系统防火墙Firewalld
  • STM3232 GPIO的配置寄存器(为了移植IIC)
  • K8s的详细介绍
  • JavaWeb(8)——前端综合案例2(节流和防抖)
  • Spring优雅的在事务提交/回滚前后插入业务逻辑
  • day48-ajax+SSM分页
  • 如何在本地环境使用 CodeQL 扫描出代码中的安全漏洞?
  • 关于领导要求logback日志时间格式要求为“年-月-日 时:分:秒,毫秒”
  • 软件测试--一些生命周期
  • Mr. Cappuccino的第57杯咖啡——简单手写Mybatis大致原理
  • 机房环境、动力、网络、安防,帮您提高运维效率,确保机房安全
  • 大数据课程E1——Flume的概述
  • 01.Redis实现发送验证码
  • Vue中对组件的调用
  • SpringCloud Gateway获取请求响应body大小
  • 二叉树的层序遍历
  • Spring Boot 集成 Thymeleaf 模板引擎
  • 如何快速找到合适的工作?
  • Elasticsearch入门用例
  • python制作超炫流星雨表白,python好看的流星雨代码
  • iOS数字转为图片
  • mac cli文件管理器
  • 不同语言操作符的优先级