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

网站图片展示源代码做服装有哪些好的网站有哪些方面

网站图片展示源代码,做服装有哪些好的网站有哪些方面,网易邮箱账号注册,石家庄专业网站设计电话效果如图#xff1a; 风机具备调节转速的功能#xff0c;转速通过扇叶旋转的快慢来区别#xff0c;共分为四档#xff0c;其中零档为静止状态#xff0c;而一、二、三档则依次增加转速。在代码中#xff0c;BlowerWrapper 类包含了可旋转的扇叶、风机外框以及选项三个主要…效果如图 风机具备调节转速的功能转速通过扇叶旋转的快慢来区别共分为四档其中零档为静止状态而一、二、三档则依次增加转速。在代码中BlowerWrapper 类包含了可旋转的扇叶、风机外框以及选项三个主要部分。此处有两处关键点值得注意 BlowerWrapper 选择继承 QObject 的主要原因是为了配合 QPropertyAnimation 的使用由于普通的 QGraphicsItem 并未继承 QObject无法使用 QPropertyAnimation 增加动画功能。fan_item 、option 包括 option1、option2、option3均使用 setParentItem 方法将 blower_base 设置为它们的父对象这样便于它们随父对象一起移动。之所以没有使用 group 是因为使用 group 后item 将无法接收到鼠标的点击事件。见(https://stackoverflow.com/questions/60476803/how-to-propagate-mouse-events-to-a-qgraphicsitem-in-a-qgraphicsitemgroup) 下面是代码同步于gitcode https://gitcode.com/m0_37662818/fan from PyQt5.QtCore import * from PyQt5.QtCore import pyqtProperty from PyQt5.QtGui import * from PyQt5.QtWidgets import *import sysclass MySignal(QObject):fan_singal pyqtSignal(int)class clickedRectItem(QGraphicsRectItem):def __init__(self, level None, parentNone):super().__init__(parent)self.level levelself.signal MySignal()def mousePressEvent(self, event):if event.button() Qt.MouseButton.LeftButton:if self.level is not None:self.signal.fan_singal.emit(self.level)return super().mousePressEvent(event)class BlowerWrapper(QObject):def __init__(self, parentNone):super().__init__(parent)fan_pixmap QPixmap(./fan.png)blower_frame_pixmap QPixmap(./blower_frame.png)self.fan_item QGraphicsPixmapItem(fan_pixmap)self.blower_base QGraphicsPixmapItem(blower_frame_pixmap)self.option1 clickedRectItem(level1)self.option2 clickedRectItem(level2)self.option3 clickedRectItem(level3)self.fan_item.setParentItem(self.blower_base)self.option1.setParentItem(self.blower_base)self.option2.setParentItem(self.blower_base)self.option3.setParentItem(self.blower_base)self.fan_item.setTransformOriginPoint(self.fan_item.boundingRect().center())self.cal_rect()self.animation_init()self.option1.signal.fan_singal.connect(self.animate)self.option2.signal.fan_singal.connect(self.animate)self.option3.signal.fan_singal.connect(self.animate)self.blower_base.setFlag(QGraphicsItem.GraphicsItemFlag.ItemIsMovable, True)self.blower_base.setFlag(QGraphicsItem.GraphicsItemFlag.ItemIsSelectable, True)self.blower_base.setShapeMode(QGraphicsPixmapItem.ShapeMode.BoundingRectShape)self.level 0def animation_init(self):self.anim QPropertyAnimation(self, brotation)self.anim.setDuration(1600)self.anim.setStartValue(0)self.anim.setEndValue(360)self.anim.setLoopCount(-1)def animate(self,level:int None):if level is None or level self.level or level 0:self.anim.stop()self.set_rect_color(0)self.level 0returnelse:level int(level)self.level levelif level 1:time 1600elif level 2:time 700elif level 3:time 300else:returnself.anim.setDuration(time)self.set_rect_color(self.level)self.anim.start()def cal_rect(self):x_len self.blower_base.boundingRect().width()y_len self.blower_base.boundingRect().height()rect_side_length x_len / 4x_space (x_len - rect_side_length * 3 ) / 2x1 0.0 y1 y_len x_space / 2x2 rect_side_length x_spacey2 y_len x_space / 2x3 rect_side_length * 2 x_space * 2y3 y_len x_space / 2self.option1.setRect(QRectF(x1, y1, rect_side_length, rect_side_length))self.option2.setRect(QRectF(x2, y2, rect_side_length, rect_side_length))self.option3.setRect(QRectF(x3, y3, rect_side_length, rect_side_length))def _set_rotation(self, angle):self.fan_item.setRotation(angle)def set_rect_color(self, level:int):for item in [self.option1, self.option2, self.option3]:item.setBrush(QColor(255, 255, 255, 255))item.setPen(QColor(0,0,0,255))if level 1:self.option1.setBrush(QColor(0, 128, 255, 255))self.option1.setPen(QColor(0, 128, 255, 255))elif level 2:self.option2.setBrush(QColor(0, 128, 255, 255))self.option2.setPen(QColor(0, 128, 255, 255))elif level 3:self.option3.setBrush(QColor(0, 128, 255, 255))self.option3.setPen(QColor(0, 128, 255, 255))rotation pyqtProperty(int, fset_set_rotation)class MainWindow(QGraphicsView):def __init__(self):super().__init__()self.scene_area QGraphicsScene(self)self.scene_area.setSceneRect(0,0,300,300)self.setScene(self.scene_area)self.show()self.blower_wrapper BlowerWrapper()self.scene_area.addItem(self.blower_wrapper.blower_base)self.blower_wrapper.blower_base.setPos(125,110)self.btn QPushButton(开始)if __name__ __main__:app QApplication(sys.argv)ex MainWindow()sys.exit(app.exec_())
http://www.dnsts.com.cn/news/134283.html

相关文章:

  • 网站开发文档跨境电商网站开发
  • 网站的作用和意义公司建设哪个方便
  • 网站建设 商标wordpress ie兼容插件
  • seo哪里可以学平顶山网站关键词优化
  • 药品和医疗器械 网站备案wordpress 百度
  • 网站建设费账务处理百度网站建设策划书范文
  • wordpress主题 ux外贸网站seo公司排名
  • 网站建设改版升级黄石网站建设网络公司
  • 如何做好企业网站搜索引擎google
  • 快手刷评论推广网站网站开发后期要解决的问题
  • 帮别人做违法网站会判刑吗网站制作功能多少钱
  • 做外贸做的很好的网站seo泛站群
  • 多个网站对比表格怎么做微信公众平台申请注册入口
  • 弹幕怎么做视频网站广东手机网站建设价格低
  • 网站设计案例分析关于网站建设中原创文章的一些想法
  • 怎样才能做好销售百度小程序排名优化
  • 企业网站的建立要做的准备有什么好的提供外链网站
  • 聊城做网站的地方加油站项目建设背景
  • 江苏专业网站制作网站速度慢的原因
  • 上海制作网站的公司有哪些跨境商城网站开发
  • 企业网站建设 骆erp系统好上手吗
  • Fastcgi做网站绑定手机网站文件夹
  • 抚州哪里有做企业网站的公司做网站分辨率多少
  • 网站建设经验会议讲话稿wordpress tag模板代码
  • 企业微网站开发做二手车有哪些网站有哪些手续费
  • html在网站开发中的应用奥远网站建设流程
  • 在线书店网站怎么做wordpress付费主题博客
  • 精品课程网站建设意义贵州网站建设公司
  • 专业购物网站建设哪家好做30个精品网站
  • 宣传网站制作益阳网站建设