鼠标移到图片放大效果

鼠标移到图片放大效果

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * { margin:0; padding:0;}
        body { background:#000;}
        #container { width:1000px; margin: 50px auto;}
        #container .icon { float:left; padding:5px; border:1px solid #fff; border-radius:5px; margin:5px; overflow: hidden;}
        .icon img { width:300px; height:200px;  transition: .5s;}
        .icon img:hover { transform: scale(1.2); transition: .5s;}
    </style>
</head>
<body>
    <div id="container">
        <div class="icon"><img src="http://e.hiphotos.baidu.com/image/pic/item/0df431adcbef7609c7e54a962cdda3cc7dd99ec9.jpg" alt=""></div>
        <div class="icon"><img src="http://d.hiphotos.baidu.com/image/pic/item/b21c8701a18b87d6dcf88618050828381f30fd7b.jpg" alt=""></div>
        <div class="icon"><img src="http://e.hiphotos.baidu.com/image/h%3D360/sign=011f56749058d109dbe3afb4e158ccd0/b7fd5266d016092477539711d60735fae6cd3441.jpg" alt=""></div>
    </div>
</body>
</html>

 

转载于:https://www.cnblogs.com/xionggeclub/p/5880935.html

可以通过重载 QLabel 的 `enterEvent` 和 `leaveEvent` 事件来实现鼠标移到 QLabel 上时图片放大的功能。具体的实现步骤如下: 1. 创建一个 QLabel,并设置其显示的图片: ```python from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import QLabel label = QLabel() pixmap = QPixmap("image.jpg") label.setPixmap(pixmap) ``` 2. 重载 QLabel 的 `enterEvent` 和 `leaveEvent` 事件: ```python class MyLabel(QLabel): def __init__(self, parent=None): super().__init__(parent) self.setMouseTracking(True) self.setScaledContents(True) # 图片自适应大小 def enterEvent(self, event): self.setGeometry(self.x() - 10, self.y() - 10, self.width() + 20, self.height() + 20) super().enterEvent(event) def leaveEvent(self, event): self.setGeometry(self.x() + 10, self.y() + 10, self.width() - 20, self.height() - 20) super().leaveEvent(event) ``` 在 `enterEvent` 事件中,将 QLabel 的大小增加 20,并将其位置向左上方移动 10 个像素,从而实现了图片放大。在 `leaveEvent` 事件中,将 QLabel 的大小减小 20,并将其位置向右下方移动 10 个像素,从而实现了图片的缩小。 最后,将 MyLabel 实例添加到主窗口中即可: ```python from PyQt5.QtWidgets import QMainWindow, QApplication class MainWindow(QMainWindow): def __init__(self, parent=None): super().__init__(parent) self.label = MyLabel(self) self.setCentralWidget(self.label) if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_()) ``` 这样就完成了鼠标移到 QLabel 上时图片放大的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值