forked from wn0112/PPlayer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUi_MP3_Player.py
382 lines (372 loc) · 18.2 KB
/
Ui_MP3_Player.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'MP3_Player.ui'
#
# Created: Thu Jun 25 16:52:45 2015
# by: PyQt4 UI code generator 4.9.6
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
from table_view import *
from volumebutton import *
from mybuttons import *
from progressslider import *
import images
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
# MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(400, 540)
MainWindow.setMinimumSize(QtCore.QSize(312, 250))
MainWindow.setMaximumSize(QtCore.QSize(312, 16777215))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.title = QtGui.QFrame(self.centralwidget)
self.title.setFrameShape(QtGui.QFrame.StyledPanel)
self.title.setFrameShadow(QtGui.QFrame.Raised)
self.title.setObjectName(_fromUtf8("title"))
self.horizontalLayout = QtGui.QHBoxLayout(self.title)
self.horizontalLayout.setSpacing(9)
self.horizontalLayout.setMargin(0)
self.horizontalLayout.setContentsMargins(5, 0, 5, 0)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.appName = QtGui.QLabel(self.title)
font = QtGui.QFont()
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
font.setStrikeOut(False)
self.appName.setFont(font)
self.appName.setObjectName(_fromUtf8("appName"))
self.label_1 = QLabel(self.title)
self.label_1.setScaledContents(True)
self.label_1.setObjectName(_fromUtf8("label_1"))
self.label_1.setMaximumSize(20, 20)
self.horizontalLayout.addWidget(self.label_1)
self.horizontalLayout.addWidget(self.appName)
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.miniBt = PushButton(self.title)
self.miniBt.setObjectName(_fromUtf8("miniBt"))
self.horizontalLayout.addWidget(self.miniBt, 0, QtCore.Qt.AlignTop)
self.horizontalLayout.addWidget(self.miniBt)
self.closeBt = PushButton(self.title)
self.closeBt.setObjectName(_fromUtf8("closeBt"))
self.horizontalLayout.addWidget(self.closeBt, 0, QtCore.Qt.AlignTop)
self.verticalLayout.addWidget(self.title)
self.processFrame = QtGui.QFrame(self.centralwidget)
self.processFrame.setFrameShape(QtGui.QFrame.StyledPanel)
self.processFrame.setFrameShadow(QtGui.QFrame.Raised)
self.processFrame.setObjectName(_fromUtf8("processFrame"))
self.verticalLayout_2 = QtGui.QVBoxLayout(self.processFrame)
self.verticalLayout_2.setSpacing(0)
self.verticalLayout_2.setContentsMargins(5, 9, 5, 0)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.musicName = nameLabel(self.processFrame)
self.musicName.setObjectName(_fromUtf8("musicname"))
self.musicName.setContentsMargins(0, 0, 0, 5)
self.verticalLayout_2.addWidget(self.musicName)
self.seekSlider = progressSlider(QtCore.Qt.Horizontal, self.processFrame)
self.seekSlider.setObjectName(_fromUtf8("seekSlider"))
self.seekSlider.setTracking(True)
self.seekSlider.setSingleStep(5000)
self.verticalLayout_2.addWidget(self.seekSlider)
self.frame = QtGui.QFrame(self.processFrame)
self.frame.setMinimumSize(QtCore.QSize(0, 0))
self.frame.setFrameShape(QtGui.QFrame.NoFrame)
self.frame.setFrameShadow(QtGui.QFrame.Raised)
self.frame.setLineWidth(0)
self.frame.setObjectName(_fromUtf8("frame"))
self.horizontalLayout_4 = QtGui.QHBoxLayout(self.frame)
self.horizontalLayout_4.setSpacing(0)
self.horizontalLayout_4.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.currentTime = QtGui.QLabel(self.frame)
self.currentTime.setObjectName(_fromUtf8("currentTime"))
self.horizontalLayout_4.addWidget(self.currentTime)
self.playTime = QtGui.QLabel(self.frame)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.playTime.setFont(font)
self.playTime.setLayoutDirection(QtCore.Qt.LeftToRight)
self.playTime.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.playTime.setObjectName(_fromUtf8("playTime"))
self.horizontalLayout_4.addWidget(self.playTime)
self.verticalLayout_2.addWidget(self.frame)
self.verticalLayout.addWidget(self.processFrame)
self.controlFrame = QtGui.QFrame(self.centralwidget)
self.controlFrame.setFrameShape(QtGui.QFrame.StyledPanel)
self.controlFrame.setFrameShadow(QtGui.QFrame.Raised)
self.controlFrame.setObjectName(_fromUtf8("controlFrame"))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.controlFrame)
self.horizontalLayout_2.setSpacing(0)
self.horizontalLayout_2.setContentsMargins(5, 0, 5, 0)
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem1)
self.srrFrame = QtGui.QFrame(self.controlFrame)
self.srrFrame.setFrameShape(QtGui.QFrame.NoFrame)
self.srrFrame.setFrameShadow(QtGui.QFrame.Raised)
self.srrFrame.setLineWidth(0)
self.srrHorizontalLayout = QtGui.QHBoxLayout(self.srrFrame)
self.srrHorizontalLayout.setSpacing(0)
self.srrHorizontalLayout.setMargin(0)
self.srrHorizontalLayout.setObjectName(_fromUtf8("srrHorizontalLayout"))
self.shuffle = SRButton(self.controlFrame)
self.shuffle.setMaximumSize(QtCore.QSize(30, 16777215))
self.shuffle.setObjectName(_fromUtf8("shuffle"))
self.shuffle.setFlat(True)
self.repeat1 = SRButton(self.controlFrame)
self.repeat1.setMaximumSize(QtCore.QSize(30, 16777215))
self.repeat1.setObjectName(_fromUtf8("repeat1"))
self.repeat1.setFlat(True)
self.repeat = SRButton(self.controlFrame)
self.repeat.setMaximumSize(QtCore.QSize(30, 16777215))
self.repeat.setObjectName(_fromUtf8("repeat"))
self.repeat.setFlat(True)
self.srrHorizontalLayout.addWidget(self.shuffle, 0, Qt.AlignBottom)
self.srrHorizontalLayout.addWidget(self.repeat1, 0, Qt.AlignBottom)
self.srrHorizontalLayout.addWidget(self.repeat, 0, Qt.AlignBottom)
self.horizontalLayout_2.addWidget(self.srrFrame)
self.horizontalLayout_2.addItem(spacerItem1)
self.playFrame = QtGui.QFrame(self.controlFrame)
self.playFrame.setFrameShape(QtGui.QFrame.NoFrame)
self.playFrame.setFrameShadow(QtGui.QFrame.Raised)
self.playFrame.setLineWidth(0)
self.playHorizontalLayout = QtGui.QHBoxLayout(self.playFrame)
self.playHorizontalLayout.setSpacing(0)
self.playHorizontalLayout.setMargin(0)
self.playHorizontalLayout.setObjectName(_fromUtf8("playHorizontalLayout"))
self.previous = Button(self.controlFrame)
self.previous.setMaximumSize(QtCore.QSize(30, 16777215))
self.previous.setObjectName(_fromUtf8("previous"))
self.play = PlayButton(self.controlFrame)
self.play.setMaximumSize(QtCore.QSize(30, 16777215))
self.play.setObjectName(_fromUtf8("play"))
self.play.setCheckable(True)
self.play.setFlat(True)
self.stop = Button(self.controlFrame)
self.stop.setMaximumSize(QtCore.QSize(30, 16777215))
self.stop.setObjectName(_fromUtf8("stop"))
self.next = Button(self.controlFrame)
self.next.setMaximumSize(QtCore.QSize(30, 16777215))
self.next.setObjectName(_fromUtf8("next"))
self.playHorizontalLayout.addWidget(self.previous)
self.playHorizontalLayout.addWidget(self.play)
self.playHorizontalLayout.addWidget(self.stop)
self.playHorizontalLayout.addWidget(self.next)
self.horizontalLayout_2.addWidget(self.playFrame)
self.horizontalLayout_2.addItem(spacerItem1)
self.frame_3 = QtGui.QFrame(self.controlFrame)
self.frame_3.setFrameShape(QtGui.QFrame.NoFrame)
self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
self.frame_3.setObjectName(_fromUtf8("frame_3"))
self.horizontalLayout_6 = QtGui.QHBoxLayout(self.frame_3)
self.horizontalLayout_6.setSpacing(0)
self.horizontalLayout_6.setMargin(0)
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem2)
self.volume = VolumeButton(self.frame_3)
self.volume.setCheckable(True)
self.volume.setFlat(True)
self.volume.setObjectName(_fromUtf8("volume"))
self.horizontalLayout_6.addWidget(self.volume)
self.volumeSlider = phonon.Phonon.VolumeSlider(self.frame_3)
self.volumeSlider.setMinimumSize(QtCore.QSize(60, 0))
self.volumeSlider.setMaximumSize(QtCore.QSize(60, 16777215))
self.volumeSlider.setMuteVisible(False)
self.volumeSlider.setObjectName(_fromUtf8("volumeSlider"))
self.horizontalLayout_6.addWidget(self.volumeSlider)
self.horizontalLayout_2.addWidget(self.frame_3)
self.verticalLayout.addWidget(self.controlFrame)
self.frame_4 = QtGui.QFrame(self.centralwidget)
self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
self.frame_4.setObjectName(_fromUtf8("frame_4"))
self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame_4)
self.verticalLayout_3.setSpacing(0)
self.verticalLayout_3.setContentsMargins(5, 0, 5, 0)
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
self.tabWidget = QtGui.QTabWidget(self.frame_4)
font = QtGui.QFont()
font.setBold(True)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(75)
font.setStrikeOut(False)
font.setKerning(True)
self.tabWidget.setFont(font)
self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
self.tabWidget.setTabShape(QtGui.QTabWidget.Rounded)
self.tabWidget.setElideMode(QtCore.Qt.ElideLeft)
self.tabWidget.setUsesScrollButtons(True)
self.tabWidget.setDocumentMode(False)
self.tabWidget.setTabsClosable(False)
self.tabWidget.setMovable(False)
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.playListTab = QtGui.QWidget()
self.playListTab.setObjectName(_fromUtf8("playListTab"))
self.verticalLayout_4 = QtGui.QVBoxLayout(self.playListTab)
self.verticalLayout_4.setSpacing(0)
self.verticalLayout_4.setMargin(0)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.tableView = myTableView(self.playListTab)
self.tableView.setObjectName(_fromUtf8("musiclist"))
self.verticalLayout_4.addWidget(self.tableView)
self.operationFrame = QtGui.QFrame(self.playListTab)
self.operationFrame.setFrameShape(QtGui.QFrame.StyledPanel)
self.operationFrame.setFrameShadow(QtGui.QFrame.Raised)
self.operationFrame.setObjectName(_fromUtf8("operationFrame"))
self.horizontalLayout_3 = QtGui.QHBoxLayout(self.operationFrame)
self.horizontalLayout_3.setSpacing(5)
self.horizontalLayout_3.setContentsMargins(0, 2, 0, 2)
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.add = PushButton(self.operationFrame)
self.add.setMaximumSize(QtCore.QSize(25, 25))
self.add.setObjectName(_fromUtf8("add"))
self.horizontalLayout_3.addWidget(self.add)
self.save = PushButton(self.operationFrame)
self.save.setMaximumSize(QtCore.QSize(20, 20))
self.save.setObjectName(_fromUtf8("save"))
self.horizontalLayout_3.addWidget(self.save)
self.delete = PushButton(self.operationFrame)
self.delete.setMaximumSize(QtCore.QSize(25, 25))
self.delete.setObjectName(_fromUtf8("delete"))
self.horizontalLayout_3.addWidget(self.delete)
self.search = PushButton(self.operationFrame)
self.search.setMaximumSize(QtCore.QSize(25, 25))
self.search.setObjectName(_fromUtf8("search"))
self.search.setCheckable(True)
self.horizontalLayout_3.addWidget(self.search)
spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem3)
self.statusLabel = QtGui.QLabel(self.operationFrame)
self.statusLabel.setObjectName(_fromUtf8("statusLabel"))
self.statusLabel.setToolTip("Ready")
self.horizontalLayout_3.addWidget(self.statusLabel, 0, QtCore.Qt.AlignRight)
self.verticalLayout_4.addWidget(self.operationFrame)
self.tabWidget.addTab(self.playListTab, _fromUtf8(""))
self.favoriteTab = QtGui.QWidget()
self.favoriteTab.setObjectName(_fromUtf8("favoriteTab"))
self.verticalLayout_5 = QtGui.QVBoxLayout(self.favoriteTab)
self.verticalLayout_5.setSpacing(0)
self.verticalLayout_5.setMargin(0)
self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
self.tableView_2 = myFavoriteTable(self.favoriteTab)
self.tableView_2.setObjectName(_fromUtf8("musiclist"))
self.verticalLayout_5.addWidget(self.tableView_2)
self.operationFrame_2 = QtGui.QFrame(self.favoriteTab)
self.operationFrame_2.setFrameShape(QtGui.QFrame.StyledPanel)
self.operationFrame_2.setFrameShadow(QtGui.QFrame.Raised)
self.operationFrame_2.setObjectName(_fromUtf8("operationFrame_2"))
self.horizontalLayout_5 = QtGui.QHBoxLayout(self.operationFrame_2)
self.horizontalLayout_5.setSpacing(5)
self.horizontalLayout_5.setContentsMargins(0, 2, 0, 2)
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
self.save_2 = PushButton(self.operationFrame_2)
self.save_2.setMaximumSize(QtCore.QSize(25, 25))
self.save_2.setObjectName(_fromUtf8("save_2"))
self.horizontalLayout_5.addWidget(self.save_2)
self.delete_2 = PushButton(self.operationFrame_2)
self.delete_2.setMaximumSize(QtCore.QSize(25, 25))
self.delete_2.setObjectName(_fromUtf8("delete_2"))
self.horizontalLayout_5.addWidget(self.delete_2)
spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem4)
self.verticalLayout_5.addWidget(self.operationFrame_2)
self.tabWidget.addTab(self.favoriteTab, _fromUtf8(""))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
self.verticalLayout_6 = QtGui.QVBoxLayout(self.tab)
self.verticalLayout_6.setSpacing(0)
self.verticalLayout_6.setMargin(0)
self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
self.textEdit = lyricTable(self.tab)
self.textEdit.setObjectName(_fromUtf8("lyric"))
# self.textEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
# self.textEdit.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.verticalLayout_6.addWidget(self.textEdit)
self.lycframe = QtGui.QFrame(self.playListTab)
self.lycframe.setFrameShape(QtGui.QFrame.StyledPanel)
self.lycframe.setFrameShadow(QtGui.QFrame.Raised)
self.lycframe.setObjectName(_fromUtf8("lycframe"))
self.lycframe.setMaximumSize(QtCore.QSize(16777215, 26))
self.horizontalLayout_6 = QtGui.QHBoxLayout(self.lycframe)
self.horizontalLayout_6.setSpacing(5)
self.horizontalLayout_6.setContentsMargins(0, 2, 0, 2)
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
self.showOnDesk = PushButton(self.lycframe)
self.showOnDesk.setObjectName(_fromUtf8("showOnDesk"))
# button menu
self.lyricMenu = QtGui.QMenu(MainWindow)
self.lyricMenu.setObjectName(_fromUtf8("lyricmenu"))
self.showOnDeskMenu = QtGui.QMenu(self.lyricMenu)
self.showOnDeskMenu.setTitle('Show On Desktop')
self.singleLine = QtGui.QAction("&Single Line", MainWindow)
self.multipleLines = QtGui.QAction("&Multiple Lines", MainWindow)
self.singleLine.setCheckable(True)
self.multipleLines.setCheckable(True)
self.showOnDeskMenu.addAction(self.singleLine)
self.showOnDeskMenu.addAction(self.multipleLines)
self.lyricMenu.addAction(self.showOnDeskMenu.menuAction())
# self.lyricMenu.addAction(self.multipleLines)
self.showOnDesk.setMenu(self.lyricMenu)
# button end
self.horizontalLayout_6.addWidget(self.showOnDesk)
self.horizontalLayout_6.addItem(spacerItem4)
self.verticalLayout_6.addWidget(self.lycframe)
self.tabWidget.addTab(self.tab, _fromUtf8(""))
self.verticalLayout_3.addWidget(self.tabWidget)
self.verticalLayout.addWidget(self.frame_4)
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
icon = QIcon()
icon.addPixmap(QPixmap(_fromUtf8(":/icons/music.png")), QIcon.Normal, QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setWindowTitle(_fromUtf8("Pinus Player"))
self.appName.setText(_translate("MainWindow", "Pinus Player", None))
self.miniBt.setText(_translate("MainWindow", "-", None))
self.closeBt.setText(_translate("MainWindow", "X", None))
self.musicName.setText(_translate("MainWindow", "", None))
self.currentTime.setFont(QtGui.QFont("verdana", 7))
self.currentTime.setText(_translate("MainWindow", "00:00", None))
self.playTime.setText(_translate("MainWindow", "", None))
self.playTime.setFont(QtGui.QFont("verdana", 7))
self.repeat.setText(_translate("MainWindow", "", None))
self.shuffle.setText(_translate("MainWindow", "", None))
self.repeat1.setText(_translate("MainWindow", "", None))
self.previous.setText(_translate("MainWindow", "<<", None))
self.play.setText(_translate("MainWindow", ">", None))
self.next.setText(_translate("MainWindow", ">>", None))
self.stop.setText(_translate("MainWindow", "O", None))
self.volume.setText(_translate("MainWindow", "V", None))
self.add.setText(_translate("MainWindow", "+", None))
self.delete.setText(_translate("MainWindow", "-", None))
self.search.setText(_translate("MainWindow", "", None))
self.save.setText(_translate("MainWindow", "/", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.playListTab), _translate("MainWindow", "All Music", None))
self.save_2.setText(_translate("MainWindow", "save", None))
self.delete_2.setText(_translate("MainWindow", "del", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.favoriteTab), _translate("MainWindow", "My Favorites", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Lyric", None))
self.showOnDesk.setText(_translate("MainWindow", "Show On Desktop", None))
from PyQt4 import phonon