The graphicsview is already a part of the main window and is enabled. So calling show() is not required. Also, it's not Qt that's giving the error i believe, but, the video sink element in the gstreamer pipeline.
"When you send winId to gstreamer it will paint the frames on a whole window. And since graphicsview is a central widget all buttons belong to the same window. So gstreamer over-paint them."
I thought so, that's why i did setCentralWidget(ui->graphicsView) to only display it in garphicsview part of the mainwindow. The mainwindow has the central widget and everything is in the central widget.
With setCentralWidget(ui->graphicsView) the video is displayed only in the graphicsview window, but, still the buttons do not show once the video playback starts.