python - PyQT5视频的上下滑动效果
问题描述
我需要在 PyQt5 上为前景视频制作向下/向上滑动效果。类似的东西没有幻灯片效果。为什么?对于 QLabel,此代码运行良好,但对于 QVideoWidget 则不行。
我尝试用 move() 改变位置 - 一样。
class Window(QMainWindow):
def __init__(self):
super(QMainWindow, self).__init__()
self.setObjectName("MainWindow")
self.setWindowModality(QtCore.Qt.NonModal)
self.resize(1920, 1080)
self.setFixedWidth(1920)
self.setFixedHeight(1080)
self.setAutoFillBackground(False)
self.setStyleSheet("background-color: rgb(255, 255, 255);")
self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
self.videoWidget = QVideoWidget(self)
self.videoWidget.setGeometry(0,0, 1920, 1080)
self.mediaPlayer.setVideoOutput(self.videoWidget)
self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile('/video.mp4')))
self.up_btn = QtWidgets.QPushButton(self)
self.up_btn.setText('UP')
self.up_btn.move(0,50)
self.up_btn.clicked.connect(self.slide_up)
self.up_btn = QtWidgets.QPushButton(self)
self.up_btn.setText('DOWN')
self.up_btn.clicked.connect(self.slide_down)
def slide_up(self):
self.mediaPlayer.stop()
self.video_block_anim_up = QPropertyAnimation(self.videoWidget, b"pos")
self.video_block_anim_up.setStartValue(1080)
self.video_block_anim_up.setEndValue(0)
self.video_block_anim_up.setDuration(300)
self.video_block_anim_up.start()
def slide_down(self):
self.mediaPlayer.stop()
self.video_block_anim = QPropertyAnimation(self.videoWidget, b"pos")
self.video_block_anim.setStartValue(0)
self.video_block_anim.setEndValue(1080)
self.video_block_anim.setDuration(300)
self.video_block_anim.start()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
解决方案
推荐阅读
- cmake - 什么是 cmake 中介子的子项目/包装文件的等价物
- electron - 有没有办法设置电子简单更新器的“禁用=假”
- java - 在 Java 中找不到适合填充 int 的方法
- ios - 使用 swift 5 从远程读取 json 内容并在 Xcode 的主界面上打印
- amazon-web-services - 是否可以将 EasyMock/JMock 用于 AWS Java SDK 模拟和代码覆盖?
- amazon-web-services - Kinesis Analytics 应用程序调用 Lambda 过于频繁
- php - 如何在 Python 脚本的网页输出上连续打印?
- javascript - Redux - Ngrx action dispatch 异步处理
- windows - 无法在 Windows 7 上安装 powershell 5
- bash - 外壳中的powershell输出