def setupUi(self): bar = QtGui.QToolBar() bar.addAction(self.playAction) bar.addAction(self.pauseAction) bar.addAction(self.stopAction) self.seekSlider = Phonon.SeekSlider(self) self.seekSlider.setMediaObject(self.mediaObject) self.volumeSlider = Phonon.VolumeSlider(self) self.volumeSlider.setAudioOutput(self.audioOutput) self.volumeSlider.setSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum) volumeLabel = QtGui.QLabel() volumeLabel.setPixmap(QtGui.QPixmap('images/volume.png')) palette = QtGui.QPalette() palette.setBrush(QtGui.QPalette.Light, QtCore.Qt.darkGray) self.timeLcd = QtGui.QLCDNumber() self.timeLcd.setPalette(palette) headers = [ self.tr("Title"), self.tr("Artist"), self.tr("Album"), self.tr("Year") ] self.musicTable = QtGui.QTableWidget(0, 4) self.musicTable.setHorizontalHeaderLabels(headers) self.musicTable.setSelectionMode( QtGui.QAbstractItemView.SingleSelection) self.musicTable.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.connect(self.musicTable, QtCore.SIGNAL('cellPressed(int, int)'), self.tableClicked) seekerLayout = QtGui.QHBoxLayout() seekerLayout.addWidget(self.seekSlider) seekerLayout.addWidget(self.timeLcd) playbackLayout = QtGui.QHBoxLayout() playbackLayout.addWidget(bar) playbackLayout.addStretch() playbackLayout.addWidget(volumeLabel) playbackLayout.addWidget(self.volumeSlider) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.musicTable) mainLayout.addLayout(seekerLayout) mainLayout.addLayout(playbackLayout) widget = QtGui.QWidget() widget.setLayout(mainLayout) self.setCentralWidget(widget) self.setWindowTitle("Phonon Music Player")
def setupUI(self): """UI生成シーケンス. 可視性を高めるため別に記述 """ # Ctrl UI self.btn_start = QPushButton('PLAY', self) self.volume_slider = Phonon.VolumeSlider(self) self.volume_slider.setAudioOutput(self.audio) self.seek_slider = Phonon.SeekSlider(self.media, self) self.seek_slider.setSingleStep(1 / 30 * 1000) # [ms] # Status Label self.status_label = QLabel("00:00:00", self) self.status_label.setAlignment(Qt.AlignRight | Qt.AlignCenter) # Layout layout = QGridLayout(self) # 一段目 layout.addWidget(self.btn_start, 0, 0) layout.addWidget(self.volume_slider, 0, 1) layout.addWidget(self.status_label, 0, 2) # 二段目 layout.addWidget(self.seek_slider, 1, 0, 1, 3) # Signal self.media.stateChanged.connect(self._handle_StateChanged) self.media.aboutToFinish.connect(self.restart) self.btn_start.clicked.connect(self._handle_BtnStart)
def _init_ui(self): self.setEnabled(False) self.actionPlay = QtGui.QAction(self) self.actionPlay.setText("Play") self.actionPlay.setIcon(QtGui.QIcon(":/play.png")) self.actionPlay.setEnabled(True) self.actionPause = QtGui.QAction(self) self.actionPause.setText("Pause") self.actionPause.setIcon(QtGui.QIcon(":/pause.png")) self.actionPause.setEnabled(False) self.actionStop = QtGui.QAction(self) self.actionStop.setText("Stop") self.actionStop.setIcon(QtGui.QIcon(":/stop.png")) self.actionStop.setEnabled(False) self.addAction(self.actionPlay) self.addAction(self.actionPause) self.addAction(self.actionStop) self.addSeparator() self.volumeSlider = Phonon.VolumeSlider(self) self.volumeSlider.setMaximumWidth(200) self.volumeSlider.setAudioOutput(self._audioOutput) self.addWidget(self.volumeSlider) self.addSeparator() self.labelStart = QtGui.QLabel(" Start:", self) self.tsbStart = QtGui.QTimeEdit(self) self.tsbStart.setDisplayFormat("hh 'h' mm 'm' ss.zzz 's'") self.labelEnd = QtGui.QLabel(" End:", self) self.tsbEnd = QtGui.QTimeEdit(self) self.tsbEnd.setDisplayFormat("hh 'h' mm 'm' ss.zzz 's'") self.labelPosition = QtGui.QLabel(" Position:", self) self.tsbPosition = QtGui.QTimeEdit(self) self.tsbPosition.setDisplayFormat("hh 'h' mm 'm' ss.zzz 's'") self.tsbPosition.setReadOnly(True) self.addWidget(self.labelStart) self.addWidget(self.tsbStart) self.addWidget(self.labelEnd) self.addWidget(self.tsbEnd) self.addWidget(self.labelPosition) self.addWidget(self.tsbPosition) # connect ui self.actionPlay.triggered.connect(self.on_play) self.actionStop.triggered.connect(self.on_stop) self.actionPause.triggered.connect(self._mediaObject.pause) self.tsbStart.timeChanged.connect(self.on_start_time_changed) self.tsbEnd.timeChanged.connect(self.on_end_time_changed)
def __init__(self): #QtGui.QWidget.__init__(self) super(QPlayer, self).__init__() self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self) self.player = Phonon.MediaObject(self) Phonon.createPath(self.player, self.audioOuptut) self.videoWidget = Phonon.VideoWidget(self) Phonon.createPath(self.player, self.videoWidget) self.player.setTickInterval(1000) self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick) self.seekSlider = Phonon.SeekSlider(self.player, self) self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut, self) self.buildGUI() self.setupConnections()
def __init__(self, parent=None): super(VolumeWidget, self).__init__(parent) self.setMaximumWidth(15) self.setWindowFlags(Qt.SplashScreen) self.setWindowOpacity(0.8) self.setMouseTracking(True) main_layout = QVBoxLayout(self) main_layout.setSpacing(0) main_layout.setContentsMargins(0, 0, 0, 0) self.silence_btn = PlayerButton("volume_on", self) self.volume_slider = Phonon.VolumeSlider() self.volume_slider.setMuteVisible(False) self.volume_slider.setFixedHeight(200) self.volume_slider.setOrientation(Qt.Vertical) self.volume_slider.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) main_layout.addWidget(self.silence_btn) main_layout.addWidget(self.volume_slider)
def __init__(self, settings): super(QPlayer, self).__init__() self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self) self.player = Phonon.MediaObject(self) Phonon.createPath(self.player, self.audioOuptut) self.videoWidget = cVideoWidget() Phonon.createPath(self.player, self.videoWidget) self.player.setTickInterval(500) #1000 self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick) self.seekSlider = Phonon.SeekSlider(self.player, self) self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut, self) #self.volumeSlider.setMaximumVolume(0.35) self.buildGUI() self.setupConnections() self.init = True # used to test before loading file when PLAY is pushed
def __init__(self): QtGui.QWidget.__init__(self) self.setWindowTitle('Video Player') self.media = Phonon.MediaObject(self) self.video = Phonon.VideoWidget(self) self.video.setMinimumSize(400, 400) self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self) Phonon.createPath(self.media, self.audio) Phonon.createPath(self.media, self.video) self.buttonChoose = QtGui.QPushButton('Choose File', self) self.buttonMimes = QtGui.QPushButton('Show Mimetypes', self) self.slider = Phonon.VolumeSlider(self) self.slider.setAudioOutput(self.audio) layout = QtGui.QGridLayout(self) layout.addWidget(self.video, 0, 0, 1, 2) layout.addWidget(self.buttonChoose, 1, 0) layout.addWidget(self.buttonMimes, 1, 1) layout.addWidget(self.slider, 2, 0, 1, 2) layout.setRowStretch(0, 1) self.media.stateChanged.connect(self.handleStateChanged) self.buttonChoose.clicked.connect(self.handleButtonChoose) self.buttonMimes.clicked.connect(self.handleButtonMimes)
def __init__(self): QtGui.QWidget.__init__(self) self.setWindowTitle('Speech Intelligibility Test') self.resize(800, 100) self.media = Phonon.MediaObject(self) self.audio = Phonon.AudioOutput(Phonon.MusicCategory, self) Phonon.createPath(self.media, self.audio) self.buttonStart = QtGui.QPushButton('Start', self) self.slider = Phonon.VolumeSlider(self) self.slider.setAudioOutput(self.audio) self.entry = QtGui.QLineEdit() self.entry.setEnabled(False) entryFont = QtGui.QFont("Times", 18) self.entry.setFont(entryFont) layout = QtGui.QGridLayout(self) layout.addWidget(self.entry, 0, 0, 1, 2) layout.addWidget(self.buttonStart, 1, 1) layout.addWidget(self.slider, 1, 0) layout.setRowStretch(0, 1) self.media.stateChanged.connect(self.handleStateChanged) self.media.finished.connect(self.handleSampleFinished) self.buttonStart.clicked.connect(self.handleButtonStart) self.entry.returnPressed.connect(self.handleSaveEntry)
def setupUi(self, parent): """ Overridden setup UI method. :type parent: MainApp """ super(MainApp, self).setupUi(parent) self.videoNameLlb.setText(str(self.video.name)) self.zoomlSlider.setMinimumWidth(50) self.userLbl.setText(self.user.email) self.setWindowFlags(self.windowFlags() ^ Qt.WindowContextHelpButtonHint) self.setWindowTitle(self.windows_title) # fill video properties self.videoTable.setItem(0, 1, QTableWidgetItem(self.video.name)) self.videoTable.setItem(1, 1, QTableWidgetItem(self.video.filename)) self.videoTable.setItem(2, 1, QTableWidgetItem(str(self.video.width) + "x" + str(self.video.height))) self.videoTable.setItem(3, 1, QTableWidgetItem("%s fps (%s frames)" % (self.video.fps, self.video.frame_count))) timeInSec = self.video.duration ms = round((timeInSec - int(timeInSec)) * 1000) if ms >= 1000: ms = 0 timeInSec += 1 hms = time.strftime('%H:%M:%S', time.gmtime(timeInSec)) self.timeLbl.setText("%s:%03d" % (hms, ms)) self.videoTable.setItem(4, 1, QTableWidgetItem("%s.%03d" % (hms, ms))) self.videoTable.setItem(5, 1, QTableWidgetItem("No" if self.video.is_finished else "Yes")) # setup annotation table geometry header = self.annotationsTable.horizontalHeader() header.setResizeMode(0, QHeaderView.Interactive) header.setResizeMode(1, QHeaderView.Stretch) header.setResizeMode(2, QHeaderView.ResizeToContents) self.annotationsTable.setColumnWidth(0, 230) self.annotationsTable.setColumnWidth(2, 35) # setup nonVis annotation table self.nonVisTable.setMouseTracking(True) font = self.nonVisTable.font() font.setPixelSize(self.SMALL_FONT) self.nonVisTable.setFont(font) header = self.nonVisTable.verticalHeader() header.setResizeMode(QHeaderView.ResizeToContents) header = self.nonVisTable.horizontalHeader() header.setResizeMode(QHeaderView.Fixed) # graphicsView init self.scene = graphics.GraphicsScene(self) self.graphicsView.setStyleSheet("background: #000000") self.graphicsView.setAlignment(Qt.AlignLeft | Qt.AlignTop) self.graphicsView.setScene(self.scene) self.graphicsView.resizeEvent = self.graphicsViewResizeEvent self.graphicsView.setTransformationAnchor(QGraphicsView.AnchorUnderMouse) self.videoGridLayout.setAlignment(self.graphicsView, Qt.AlignCenter) # Setup multimedia player path = os.path.join(self.rootPath, 'data', 'video', self.video.filename) self.audioOuptut = Phonon.AudioOutput(Phonon.MusicCategory, self) self.videoWidget = Phonon.VideoWidget() self.player = videoplayer.VideoPlayer(self, path) Phonon.createPath(self.player, self.audioOuptut) Phonon.createPath(self.player, self.videoWidget) self.playerProxy = self.scene.addWidget(self.videoWidget) self.playerProxy.setVisible(False) self.scene.video_size = self.playerProxy.size() # setup player controls self.mainSeekSlider = videoplayer.MainVideoSeeker(self) self.mainSeekSlider.setMinimumWidth(100) self.volumeSlider = Phonon.VolumeSlider(self.audioOuptut) self.volumeSlider.setFixedWidth(100) self.mainVideoBarHLayout.addWidget(self.mainSeekSlider) self.mainVideoBarHLayout.addWidget(self.volumeSlider) self.playPauseBtn.setFocus() self.stopBtn.setVisible(False) # if not hide and later show -> paint update of player wont work properly! # status bar self.fpsLabel = QLabel("Frame #0") self.statusbar.addPermanentWidget(self.fpsLabel) # icons zoom_icon = QPixmap(":/icons/icons/zoom.png").scaled(QSize(16, 16), Qt.IgnoreAspectRatio, Qt.SmoothTransformation) self.zoomLbl.setPixmap(zoom_icon) db_icon = QPixmap(":/icons/icons/database.png").scaled(QSize(16, 16), Qt.IgnoreAspectRatio, Qt.SmoothTransformation) self.db_status = QLabel() self.db_status.setPixmap(db_icon) self.db_status.setMinimumWidth(25) self.db_status.setAlignment(Qt.AlignCenter) self.statusbar.addPermanentWidget(self.db_status)
def setupUi(self): styles = """ QSlider::groove:horizontal { background: red; position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */ left: 4px; right: 4px; height:4px; } QSlider::handle:horizontal { height: 6px; width: 6px; background: red; border-radius: 100px; } QSlider::add-page:horizontal { background: white; } QSlider::sub-page:horizontal { background: skyblue; } """ self.seekSlider = Phonon.SeekSlider(self.media, self) self.seekSlider.setStyleSheet(styles) self.volumeSlider = Phonon.VolumeSlider(self.audio) palette = QPalette() palette.setBrush(QPalette.Dark, Qt.lightGray) self.timeLcd = QLCDNumber() self.timeLcd.setPalette(palette) headers = [self.tr("Title"), self.tr("Duration")] self.playlistTable = QTableWidget(0, 2) self.playlistTable.setHorizontalHeaderLabels(headers) self.playlistTable.setSelectionMode(QAbstractItemView.SingleSelection) self.playlistTable.setSelectionBehavior(QAbstractItemView.SelectRows) self.playlistTable.setStyleSheet('background-color: #ffffff; color: #000000') self.playlistTable.setMinimumWidth(250) self.connect(self.playlistTable, SIGNAL('cellPressed(int, int)'), self.tableClicked) playlistBar = QToolBar() playlistBar.addAction(self.addFilesAction) playlistBar.addAction(self.repeatListAction) playlistBar.addAction(self.shuffleAction) playlistBar.addAction(self.previousAction) playlistBar.addAction(self.nextAction) playlistBar.setStyleSheet('QToolBar{border-color:#cccccc;}QToolButton:checked{background-color:blue}') playlistLayout = QVBoxLayout() playlistLayout.addWidget(self.playlistTable) playlistLayout.addWidget(playlistBar) self.playlistWidget = QWidget() self.playlistWidget.setLayout(playlistLayout) bar = QToolBar() bar.addAction(self.playAction) bar.addAction(self.pauseAction) bar.addAction(self.stopAction) bar.addAction(self.fullAction) bar.addAction(self.repeatAction) bar.setStyleSheet('QToolBar{border-color:#cccccc;}QToolButton:checked{background-color:blue}') listbar = QToolBar() listbar.addAction(self.addFilesAction) listbar.addAction(self.playlistAcion) listbar.setStyleSheet('QToolBar {border-color:#cccccc;}') self.video.setMinimumWidth(400) videoLayout = QHBoxLayout() videoLayout.addWidget(self.video) videoLayout.addWidget(self.playlistWidget) seekerLayout = QHBoxLayout() seekerLayout.addWidget(self.seekSlider) seekerLayout.addWidget(self.timeLcd) playbackLayout = QHBoxLayout() playbackLayout.addWidget(bar) playbackLayout.addStretch() playbackLayout.addWidget(listbar) playbackLayout.addWidget(self.volumeSlider) mainLayout = QVBoxLayout() mainLayout.addLayout(videoLayout) mainLayout.addLayout(seekerLayout) mainLayout.addLayout(playbackLayout) self.widget = QWidget() self.widget.setLayout(mainLayout) self.widget.setStyleSheet('background-color: #000000;') self.widget.setMinimumWidth(200) self.setCentralWidget(self.widget) self.setStyleSheet('background-color: #000000;')
def buatSlider(self): self.posisi = Phonon.SeekSlider(self) self.volume = Phonon.VolumeSlider(self) self.volume.setAudioOutput(self.suara) self.posisi.setMediaObject(self.pemutar)
def newwindows(self): import glob self.setWindowTitle('Media') action = QAction('text', self) self.actions = action.setStatusTip('check') self.setGeometry(100, 50, 1000, 1000) self.tool = QMenuBar(self) self.okay = self.tool.addMenu('okay') self.okay2 = self.tool.addMenu('okay') self.okay.addAction(action) self.setWindowIcon( QIcon('C:/Users/fish/Downloads/nice/icons8-sunday-50.png')) #'''''''\ #self.layout = QVBoxLayout(self) #self.browser = QWebView(self) '''damnit = "http://www.google.com/" self.f***s = self.browser.load(QUrl(damnit)) self.browser.move(500,100) self.browser.resize(500,500)''' dir = '' self.btnss = QPushButton('open file', self) self.btns2 = QPushButton('pause', self) self.btns3 = QPushButton('play', self) self.btns3.clicked.connect(self.played) self.btns2.clicked.connect(self.paused) self.btnss.move(100, 350) self.btns2.move(100, 400) self.btns3.move(100, 450) self.btnss.clicked.connect(self.fhile) path = self.filename print(self.filename) self.media = Phonon.MediaObject(self) self.video = Phonon.VideoWidget(self) self.video.setMinimumSize(400, 400) self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self) Phonon.createPath(self.media, self.audio) Phonon.createPath(self.media, self.video) self.media.setCurrentSource(Phonon.MediaSource(path)) self.media.play() self.video.show() # ------------------------------------------- self.btns4 = QPushButton('Full Screen', self) self.btns4.move(400, 0) self.btns4.clicked.connect(self.enlarged) # ------------------------------------------- # ------------------------------------------- self.slider = Phonon.VolumeSlider(self) self.slider.setAudioOutput(self.audio) self.slider.move(250, 50) self.slider.resize(250, 50) self.seekk = Phonon.SeekSlider(self) self.seekk.setMediaObject(self.media) self.seekk.move(200, 550) self.seekk.resize(350, 150) self.video.move(200, 200) # ------------------------------------------- #self.view = QListView(self) #self.view.move(600,100) #self.view.resize(100,100) lists = glob.glob('C:/Users/fish/Downloads/*.WMV') + glob.glob( 'C:/Users/fish/Downloads/*.mp4') + glob.glob( 'C:/Users/fish/Downloads/*.flv') self.newview = QListWidget(self) self.newview.resize(300, 300) self.newview.move(600, 300) for item in lists: self.okay = QListWidgetItem('okay') self.okay.setData(Qt.UserRole, str(item)) self.newview.addItem(self.okay) #self.newview.setValue(item) # ------------------------------------------- self.newview.clicked.connect(self.listfunc) #self.smodel = QStandardItemModel(self) # ------------------------------------------- #self.setKey(QShortcut(Qt.Key_Escape, self)) # self.act.setKey(QKeySequence('Alt+Enter')) #self.act.activated.connect(self.efullscreen) print(lists) #self.line = QTextEdit(self) #self.line.resize(25,25) #self.line.resize(25,25) #self.line.move(100,100) #self.line = QLineEdit(self) #self.line.resize(300,30) #self.line.move(600,70) # ------------------------------------------- self.naved = QPushButton('browser', self) self.naved.clicked.connect(self.nav) # ------------------------------------------- self.btned = QPushButton('Random Photo', self) self.btned.move(100, 300) self.btned.clicked.connect(self.check) # ------------------------------------------- self.show() print(path) if path == None: self.lab = QLabel(self) paths = 'C:/Users/fish/Desktop/pexels-photo.jpg' self.img = QPixmap(paths) self.lab.setPixmap(paths) self.lab.move(200, 175) self.lab.resize(400, 400) self.lab.show() else: paths = '' self.lab.resize(10, 10) self.lab.move(10, 10)