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

953

被折叠的 条评论
为什么被折叠?



