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())