Python PyQt5实现鼠标左键图片缩放、旋转

1. 实现的效果图如下动态图所示;详细的Python实现代码如下,程序中存在及需要注意的小问题见注释。

 

# -*- coding: utf-8 -*-
"""
Created on Tue Apr 26 19:33:16 2019

@author: Tiny

"""
# =============================================================================
''' 采用PyQt5实现,基本功能如下:
    1. 图片缩放(点选/快捷键两种方式,单次缩放尺度小伙伴们自己可调);
    2. 图片旋转(点选/快捷键两种方式,单次旋转角度小伙伴们自己可调);
    3. 图片移动(点选/快捷键两种方式,单次移动距离小伙伴们自己可调)-->待开发,后续续上。'''
# =============================================================================
# =============================================================================
''' 该代码存在一个问题:'''
#   图片缩小很小时,长宽比例保持的不好,且再次放大后,图片失真,图片信息丢掉很多!
''' 内存中存放原图,针对原图设定一个缩放ratio变量,在原图基础上做缩放'''
# =============================================================================
# =============================================================================
''' 注意:'''
#   1. self.imageLabel.setScaledContents(True) #允许QLabel缩放它的内容充满整个可用的空间。
#        小伙伴可以看一下设置不设置该局的图片显示区别;
#   2. 注意一下PyQt4和PyQt5的个别函数用法的区别;
#   3. 很多函数类似,完全可以编写为一个函数,不需要那么多行代码,都是重复的;
#   4. 在别人的基础上改的,玩玩,大家可做个参考。
# =============================================================================
# =============================================================================
''' PyQt5 与PyQt4 的一些区别,供小伙伴们参考:'''
#   需用QtWidgets.QLabel(),  # PyQt4
#              不是QLabel();  # PyQt5
#    
#    需用QtWidgets.QAction(QIcon, QString, QObject),  # PyQt4
#              不是QAction(QIcon, QString, QObject);  # PyQt5
#    
#    The old style:
#        self.connect(origin, SIGNAL('completed'), self._show_results)  # PyQt4
#    should now be written in the new style:
#        origin.completed.connect(self._show_results)  # PyQt5
#        
#    PyQt5中已经不再支持PyQt4种不推荐方法 QMatrix 
#         可通过QTransform 实现
# =============================================================================
from PyQt5.QtGui import *
from PyQt5.QtCore import *
imp
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值