前言
本文通过 QSlider 组件来实现 滑动 Label 显示图片 简单实现了滑动拼图的效果
上效果预览
源码
只展示py文件
#!/user/bin/env python3
# -*- coding: utf-8 -*-
# @FileName :pymove.py
# @Time :2024/3/7 10:13
# @Author :Tzq
import sys
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
from UI.seleniumui import Ui_MainWindow
class QMainMyWindow(QMainWindow):
def __init__(self):
super().__init__()
def InitUI():
ui.label.setPixmap(QPixmap("image/2.png"))
ui.label_2.setPixmap(QPixmap("image/1.png"))
ui.label.setScaledContents(True)
ui.label_2.setScaledContents(True)
ui.label_2.move(160, 107)
ui.label_2.setMinimumSize(76, 69)
ui.horizontalSlider.setValue(0)
ui.horizontalSlider.setSingleStep(45)
ui.horizontalSlider.setMaximum(360)
ui.horizontalSlider.valueChanged.connect(valuechange)
ui.horizontalSlider.sliderReleased.connect(valuechange2)
nums = 0
def valuechange(num):
global nums
print(num)
ui.label_2.move(160 + num, 107)
nums = num
def valuechange2():
print(f"dd {nums}")
if 340 <= nums <= 365:
print("验证成功")
closeEvent("验证成功")
else:
closeEvent("验证失败")
def closeEvent(infos):
t = '\r\n\r\n 验证成功? \0\r\n\r\n'
t = f"<br/><br/> <p style='font-size:22px'> {infos}! </p> <br/><br/>"
reply = QMessageBox.question(None, '确认', t, QMessageBox.Yes)
if reply == QMessageBox.Yes:
ui.label_2.move(140, 107)
ui.horizontalSlider.setValue(0)
if __name__ == "__main__":
app = QApplication(sys.argv)
MainWindow = QMainMyWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
InitUI()
MainWindow.show()
sys.exit(app.exec_())
下载
https://download.csdn.net/download/qq_45552799/88922609