Problem with a widget [PyQt5]

Nikola Tesla <[email protected]>
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <[email protected]>
/Hey, how are you? I hope you're well.
my problem is that I'm trying to add the class
video = QVideoWidget()
in this widget --> self.video_container = QWidget(self.box_video)
but I haven't been able to work it out... please help
I have attached the code file to make my question more understandable/

/
/

/This is so that the uploaded video can be displayed in that widget/

/This widget is illustrated in the attached image/

_______________________________________________
PyQt mailing list    [email protected]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
foto_muestra.png (image/png, 40.4 KB) - not displayed
catarsis.py (text/plain, 7.7 KB)
# -*- coding: utf-8 -*-

from PyQt5.QtGui import QFont, QCursor, QIcon, QPixmap

from PyQt5.QtCore import Qt, QSize, QUrl

from PyQt5.QtWidgets import QWidget, QListWidget, QFrame, QGridLayout, QSlider, QLabel, QPushButton, QApplication, QMainWindow, QAbstractItemView, QGroupBox, QHBoxLayout, QFileDialog

from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent

from PyQt5.QtMultimediaWidgets import QVideoWidget 

import sys

import imagenes

class Catarsis(QMainWindow):

    def __init__(self):
        super().__init__()

        self.setWindowTitle("    Catarsis")
        self.setWindowIcon(QIcon('img/vector.jpg'))
        self.setObjectName("Catarsis")
        self.resize(814, 600)

        font = QFont()
        font.setFamily("Cascadia Code PL")
        font.setPointSize(16)
        self.setFont(font)

        self.artilugios()
        self.show()

    def artilugios(self):

        self.contenedor = QWidget(self)
        self.contenedor.setObjectName("contenedor")
        self.grid_1 = QGridLayout(self.contenedor)
        self.grid_1.setObjectName("grid_1")

        self.box_controles = QGroupBox(self.contenedor)
        self.box_controles.setMaximumSize(QSize(16777215, 122))
        self.box_controles.setObjectName("box_controles")
        self.gridLayout_2 = QGridLayout(self.box_controles)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.reproducir = QPushButton(self.box_controles)
        self.reproducir.setMaximumSize(QSize(50, 109))
        self.reproducir.setText("")

        icon = QIcon()
        icon.addPixmap(QPixmap(":/img/play.svg"), QIcon.Normal, QIcon.Off)

        self.reproducir.setIcon(icon)
        self.reproducir.setIconSize(QSize(48, 29))
        self.reproducir.setEnabled(False)
        self.reproducir.setFlat(True)
        self.reproducir.setObjectName("reproducir")
        self.reproducir.clicked.connect(self.play_video)

        self.gridLayout_2.addWidget(self.reproducir, 0, 0, 1, 1)
        self.parar = QPushButton(self.box_controles)
        self.parar.setMaximumSize(QSize(50, 109))
        self.parar.setText("")

        icon1 = QIcon()
        icon1.addPixmap(QPixmap(":/img/stop.svg"), QIcon.Normal, QIcon.Off)

        self.parar.setIcon(icon1)
        self.parar.setIconSize(QSize(48, 29))
        self.parar.setFlat(True)
        self.parar.setObjectName("parar")

        self.gridLayout_2.addWidget(self.parar, 0, 1, 1, 1)
        self.atras = QPushButton(self.box_controles)
        self.atras.setMaximumSize(QSize(50, 109))
        self.atras.setText("")

        icon2 = QIcon()
        icon2.addPixmap(QPixmap(":/img/back.svg"), QIcon.Normal, QIcon.Off)

        self.atras.setIcon(icon2)
        self.atras.setIconSize(QSize(48, 29))
        self.atras.setFlat(True)
        self.atras.setObjectName("atras")

        self.gridLayout_2.addWidget(self.atras, 0, 2, 1, 1)
        self.adelante = QPushButton(self.box_controles)
        self.adelante.setMaximumSize(QSize(50, 109))
        self.adelante.setText("")

        icon3 = QIcon()
        icon3.addPixmap(QPixmap(":/img/next.svg"), QIcon.Normal, QIcon.Off)

        self.adelante.setIcon(icon3)
        self.adelante.setIconSize(QSize(48, 29))
        self.adelante.setFlat(True)
        self.adelante.setObjectName("adelante")

        self.gridLayout_2.addWidget(self.adelante, 0, 3, 1, 1)
        self.cargar = QPushButton(self.box_controles)
        self.cargar.setMaximumSize(QSize(50, 109))
        self.cargar.clicked.connect(self.abrir_archivo)
        self.cargar.setText("")

        icon4 = QIcon()
        icon4.addPixmap(QPixmap(":/img/eject-1.svg"), QIcon.Normal, QIcon.Off)

        self.cargar.setIcon(icon4)
        self.cargar.setIconSize(QSize(48, 29))
        self.cargar.setFlat(True)
        self.cargar.setObjectName("cargar")

        self.gridLayout_2.addWidget(self.cargar, 0, 4, 1, 1)
        self.datos = QLabel(self.box_controles)
        self.datos.setFrameShape(QFrame.StyledPanel)
        self.datos.setIndent(13)
        self.datos.setObjectName("datos")

        self.gridLayout_2.addWidget(self.datos, 0, 5, 1, 1)
        self.menu = QPushButton(self.box_controles)
        self.menu.setMaximumSize(QSize(50, 109))
        self.menu.setText("")

        icon5 = QIcon()
        icon5.addPixmap(QPixmap(":/img/menu2.png"), QIcon.Normal, QIcon.Off)

        self.menu.setIcon(icon5)
        self.menu.setIconSize(QSize(48, 29))
        self.menu.setFlat(True)
        self.menu.setObjectName("menu")

        self.gridLayout_2.addWidget(self.menu, 0, 6, 1, 1)
        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.tiempo = QSlider(self.box_controles)
        self.tiempo.setOrientation(Qt.Horizontal)
        self.tiempo.setObjectName("tiempo")

        self.horizontalLayout.addWidget(self.tiempo)
        self.logo_volumen = QPushButton(self.box_controles)
        self.logo_volumen.setMaximumSize(QSize(41, 41))
        self.logo_volumen.setText("")

        icon6 = QIcon()
        icon6.addPixmap(QPixmap(":/img/altavoz3.png"), QIcon.Normal, QIcon.Off)

        self.logo_volumen.setIcon(icon6)
        self.logo_volumen.setIconSize(QSize(25, 25))
        self.logo_volumen.setFlat(True)
        self.logo_volumen.setObjectName("logo_volumen")

        self.horizontalLayout.addWidget(self.logo_volumen)
        self.volumen = QSlider(self.box_controles)
        self.volumen.setMaximumSize(QSize(139, 16777215))
        self.volumen.setPageStep(1)
        self.volumen.setOrientation(Qt.Horizontal)
        self.volumen.setObjectName("volumen")
        self.horizontalLayout.addWidget(self.volumen)

        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 7)
        self.grid_1.addWidget(self.box_controles, 0, 0, 1, 1)

        self.box_video = QGroupBox(self.contenedor)
        self.box_video.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter)
        self.box_video.setFlat(False)
        self.box_video.setObjectName("box_video")

        self.gridLayout = QGridLayout(self.box_video)
        self.gridLayout.setObjectName("gridLayout")

        self.video_contenedor = QWidget(self.box_video)
        self.video_contenedor.setObjectName("video_contenedor")
        self.gridLayout.addWidget(self.video_contenedor, 0, 0, 1, 1)

        self.lista = QListWidget(self.box_video)
        self.lista.setMaximumSize(QSize(270, 16777215))
        self.lista.setObjectName("lista")
        self.gridLayout.addWidget(self.lista, 0, 1, 1, 1)
        self.grid_1.addWidget(self.box_video, 1, 0, 1, 1)

        self.media = QMediaPlayer(None, QMediaPlayer.VideoSurface)
        video = QVideoWidget()

        self.media.setVideoOutput(video)

        self.setCentralWidget(self.contenedor)

        self.box_controles.setTitle("Controles")
        self.datos.setText("TextLabel")
        self.box_video.setTitle("Catarsis Reproductor")

    def abrir_archivo(self):
        nombre_archivo, _ = QFileDialog.getOpenFileName(self, '   Abrir Video !!!', '', 'mp3 Audio (*.mp3);mp4 Video (*.mp4);Movie files (*.mov);All files (*.*)')

        if nombre_archivo != '':
            self.media.setMedia(QMediaContent(QUrl.fromLocalFile(nombre_archivo)))
            self.reproducir.setEnabled(True)

    def play_video(self):
        if self.media.state() == QMediaPlayer.PlayingState:
            self.media.pause()
        else:
            self.media.play()



if __name__ == "__main__":

    player = QApplication(sys.argv)
    # ['windowsvista', 'Windows', 'Fusion'] Posibles estilos en Windows 10
    player.setStyle('Fusion')
    ct = Catarsis()
    sys.exit(player.exec())
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.