【问题标题】:How can I add moviepy preview window inside PySide2 widget如何在 PySide2 小部件中添加moviepy预览窗口
【发布时间】:2019-11-26 21:23:46
【问题描述】:
这是一个非常直截了当的问题。我正在使用moviepy 生成视频,最后我在PySide2 小部件中预览了视频剪辑。但是当我尝试运行videoClip.preview() 时,它只会创建一个新窗口并进行预览。我们可以在 PySide2 中进行预览吗?
谢谢
【问题讨论】:
-
这并不简单。 moviepy 查看器是一个不使用 Qt 工具包的外部窗口。可以嵌入它,但 Qt 目前并不真正支持它,因此它可能无法在您的平台上运行。有一个related question here 显示了如何去做。类似的东西可能也适用于moviepy - 但YMMV。
标签:
python-3.x
video
preview
pyside2
moviepy
【解决方案1】:
就像 ekhumoro 所说,PySide2 是否会很好地处理以下解决方案尚不确定,但无论如何你应该尝试一下:
生成moviepy查看器后,编写:
# create a widget which will contain your external viewer :
container_widget = QtWidgets.QWidget()
# retrieve programmatically your external viewer (works for Windows OS only) :
hwnd = win32gui.FindWindow(None, "Name_of_your_external_window_viewer")
# embed it inside your widget :
window = QtGui.QWindow.fromWinId(hwnd)
windowcontainer = createWindowContainer(window, container_widget)
# then you want to add your windowcontainer inside a certain layout of your GUI:
gridLayout.addWidget(windowcontainer, 0, 0, 1, 1)