PyQt图片拖拽与缩放与Qlabel的结合

博主分享了使用PyQt实现图片在QLabel上拖拽和缩放功能的过程。遇到问题后,通过创建新的Widget并重写paintEvent、鼠标事件,实现了这一功能。最终采取了在Label位置创建Widget并隐藏Label的策略来达到图片拖拽的效果。
摘要由CSDN通过智能技术生成

PyQt图片拖拽与缩放与Qlabel的结合

这是博主最近用PyQt设计软件界面的时候遇到的一个小问题,软件主要功能是对图片进行绘制等操作,图片的显示载体是Label,但是做到缩放和拖拽功能时,发现label控件无法实现该功能。

走了一些弯路,最后实现该功能

效果如下:无法实现想要的功能。最后

代码

图片缩放通过toolbutton事件实现

  • toolbutton函数
def toolButton_magn_click(self):
    global num,image_Reflesh
    if num<5:
        num=num+0.5
        n_QIm = QIm.scaled(max_x * num, max_y * num, Qt.KeepAspectRatio, Qt.SmoothTransformation)
        self.label_image.setPixmap(QPixmap.fromImage(n_QIm))
  

label所在的类与之后实现拖拽的widget类不是同一个类

由于label的刷写图像没办法指定刷写的位置,所以还是得靠新建一个widget,然后重写paintEvent

  • widget的_init_函数:
class ImageWithMouseControl(QWidget):


    def __init__(self, parent=None)
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值