I don't really understand how you are trying to link the Gst pipeline with a QVideoWidget. If you create an autovideosink, it will create a suitable window for you and you won't need QVideoWidget. If you want to render the video on QVideoWidget then you don't need an autovideosink. Instead you can use an appsink, read frames from the sink and render them on a bare QWidget by reimplementing its paintEvent. Just make sure the sink receives frames that are already decoded into a format you can render on a widget (some kind of RGB). You can probably also use glimagesink and pass it a window id of a QOpenGLWindow or QOpenGLWidget.