GUI Programming with Python & Qt

Faisal

Beyose Labs

Positional Arguments

Keyword Arguments


def fun(*args, **kwargs):

    # print first positional argument
    print args[0]

    # print argument with key "foo"
    print kwargs['foo']


fun("hello NoUniversity", foo="bar")

Accessing Command line argument

import sys

if __name__ == '__main__':

    if len(sys.argv) < 2:
        print "No command line argument"

    else:
        print sys.argv[1]

Qt

"C++"

Cross Platform

Application Development

Framework

Platforms

Windows / Linux / OS X

Android / IOS / Windows

Do You Code in C++ ?

PyQt / PySide

Python Extension

For

Qt

 

Music Player in 10 Min

Requirements

Qt Designer / Qt Creator

PySide

pyside-tools

Design Music Player

With Qt Creator

Make .py file from .ui

pyside-uic audio-player.ui > AudioPlayerUI.py

imports

from PySide.QtGui import QMainWindow
from PySide.QtCore import *
from PySide.QtGui import *
from AudioPlayerUI import Ui_AudioPlayerDemo
from PySide.phonon import Phonon

Audio Player Class


class AudioPlayer(QMainWindow, Ui_AudioPlayerDemo):

    def __init__(self, parent=None):
        super(AudioPlayer, self).__init__(parent)
        self.setupUi(self)
        self.actionOpen.triggered.connect(self.open)
        self.actionQuit.triggered.connect(self.quite)
        self.horizontalSlider.setEnabled(False)
        self.horizontalSlider.sliderReleased.connect(
            self.slider_value_change)
        self.button.clicked.connect(self.play_or_pause)
        self.button.setText("Play")
        self.button.setEnabled(False)
        self.media_obj = Phonon.MediaObject(self)

Open Music

def play_or_pause(self):
    if Phonon.State.PlayingState == self.media_obj.state():
        self.media_obj.pause()
        self.button.setText("Play")
    elif Phonon.State.PausedState == self.media_obj.state():
        self.media_obj.play()
        self.button.setText("Pause")

Play/Pause

def play_or_pause(self):
    if Phonon.State.PlayingState == self.media_obj.state():
        self.media_obj.pause()
        self.button.setText("Play")
    elif Phonon.State.PausedState == self.media_obj.state():
        self.media_obj.play()
        self.button.setText("Pause")

Time Change

def time_change(self, time):
    if not self.horizontalSlider.isSliderDown():
        self.horizontalSlider.setValue(time)

Seek

def slider_value_change(self):
    value = self.horizontalSlider.value()
    self.media_obj.seek(value)

Listen


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = AudioPlayer()
    window.show()
    sys.exit(app.exec_())

Source

https://github.com/faisalp4p/MusicPlayerDemo

Thank You

deck

By Faisal P P