源代码1:

# -*- coding: utf-8 -*-

import sys,time,os

import ctypes

from PyQt4 import QtCore, QtGui,Qt

from PyQt4.QtCore import Qt

from PyQt4.QtCore import pyqtSignature

from mp import Ui_Form

import win32gui

import win32api

import win32con

User32dll = ctypes.windll.User32

#print ctypes.windll.User32

class MyForm(QtGui.QMainWindow):

def __init__(self,parent=None):

QtGui.QWidget.__init__(self,parent)

self.ui=Ui_Form()

self.ui.setupUi(self)

self.createContexMenu()

self.ui.open1.setToolTip(u'添加文件/文件夹,Ctrl+O')

self.ui.open1.setShortcut(u'Ctrl+O')

self.ui.cha.setToolTip(u'查找当前目录文件/文件夹,Ctrl+F')

self.ui.cha.setShortcut(u'Ctrl+F')

self.ui.ting.setToolTip(u'暂停当前歌曲播放')

self.ui.hou.setToolTip(u'向后一首')

self.ui.qian.setToolTip(u'向前一首')

self.vox=QtGui.QSlider(QtCore.Qt.Horizontal,self)

self.vox.setFocusPolicy(QtCore.Qt.NoFocus)

self.vox.setGeometry(400, 40, 80, 30)

self.vox.setToolTip(u'声音')

self.lcd=QtGui.QLCDNumber(self)

self.lcd.setGeometry(530, 40, 80, 30)

self.vbox=QtGui.QVBoxLayout()

self.vbox.addWidget(self.lcd)

self.timer=QtCore.QBasicTimer()

self.a=0

#事件与信号

self.ra=QtGui.QButtonGroup(None)

self.ra.addButton( self.ui.ra1,0)

self.ra.addButton( self.ui.ra2,1)

self.ra.addButton( self.ui.ra3,2)

self.ra.addButton( self.ui.ra4,3)

self.connect(self.ra,QtCore.SIGNAL("clicked()"), self.buttonBoxx)

self.connect( self.ui.ra1, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra2, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra3, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra4, QtCore.SIGNAL("clicked()"),self.change)

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.timerEvent)

self.connect(self.vox,QtCore.SIGNAL('valueChanged(int)'),

self.vov)

self.connect(self.vox,  QtCore.SIGNAL('valueChanged(int)'), self.lcd,

QtCore.SLOT('display(int)'))

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.onstart)

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.timerEvent)

self.connect(self.ui.hou,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲后一首

self.connect(self.ui.qian,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲前一首

self.connect(self.ui.ting,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲前暂停

self.connect(self.ui.open1, QtCore.SIGNAL('clicked()'), self.addafile)

self.ui.ra1.setToolTip(u'单曲播放')

self.ui.ra2.setToolTip(u'单曲循环')

self.ui.ra3.setToolTip(u'列表播放')

self.ui.ra4.setToolTip(u'随机播放')

self.vox.setToolTip(u'调节音量')

self.ui.text1.setToolTip(u'音乐')

self.ui.l1.setToolTip(u'静音')

#事件:

self.connect(self.ui.text1,QtCore.SIGNAL('(customContextMenuRequested'),self. createContexMenu)

self.ui.text1.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)

#self.connect(self.ui.text1,QtCore.SIGNAL('clicked()'),self.ctypes1)

#播放方式

def change(self):

if self.ui.ra1.isChecked():

print u'单曲循环'

elif  self.ui.ra2.isChecked():

print u'单曲播放'

elif  self.ui.ra3.isChecked():

print u'列表播放'

elif self.ui.ra4.isChecked():

print u'随机播放'

else:

print u'未选择'

def buttonBoxx(self):

try:

if self.ra.checkedId():

print u'当前选中的是',self.ra.checkedId()

except Exception:

print 'error:',u'4个状态未选中'

def createContexMenu(self):

"""

创建右击菜单

"""

#self.text(Qt.CustomContextMenu)

self.setContextMenuPolicy(Qt.CustomContextMenu)

self.customContextMenuRequested.connect(self.showContextMenu)

#创建QMENU

self.contextMenu=QtGui.QMenu()

self.actionA=self.contextMenu.addAction(u'添加歌曲文件/歌曲文件夹(基本完成)')

self.actionA.setShortcut(u'Ctrl+O')

self.actionB=self.contextMenu.addAction(u'清除歌曲列表(基本完成)')

self.actionB.setShortcut(u'Ctrl+C')

self.actionC=self.contextMenu.addAction(u'歌曲播放模式')

self.actionD=self.contextMenu.addAction(u'歌曲排序')

self.actionD.setShortcut(u'Ctrl+#')

self.actionE=self.contextMenu.addAction(u'打开歌曲所在目录或者路径')

self.actionE.setShortcut(u'Ctrl+F')

self.actionF=self.contextMenu.addAction(u'歌曲重名名')

self.actionF.setShortcut(u'Ctrl+R')

self.actionG=self.contextMenu.addAction(u'删除音乐文件(包括硬盘中的文件)(基本完成)')

self.actionG.setShortcut(u'Ctrl+D')

self.actionH=self.contextMenu.addAction(u'查看歌曲信息(基本完成)')

self.actionH.setShortcut(u'Ctrl+H')

self.actionX=self.contextMenu.addAction(u'导出歌曲')

self.actionX.setShortcut(u'Ctrl+P')

self.actionS=self.contextMenu.addAction(u'设置')

self.actionS.setShortcut(u'Ctrl+M')

self.actionU=self.contextMenu.addAction(u'更新音乐文件')

self.actionU.setShortcut(u'Ctrl+U')

aboutAction = QtGui.QAction(QtGui.QIcon(""), u"关于(&A)(基本完成)", self)

self.contextMenu.addAction(aboutAction)

self.connect(aboutAction,QtCore.SIGNAL('triggered()'),self.about)

"""

self.she=QtGui.QPushButton(u'设置(M)',self)

self.she.setGeometry(230,490, 75, 23)

self.she.setToolTip(u'设置,Ctrl+M')

self.she.setShortcut(u'Ctrl+M')

"""

#对播放模式选择

self.a1=QtGui.QAction(u'单曲循环',self)

self.a2=QtGui.QAction(u'单曲播放',self)

self.a3=QtGui.QAction(u'列表播放',self)

self.a4=QtGui.QAction(u'随机播放',self)

self.c1=QtGui.QMenu()#二级菜单创建

self.actionC.setMenu(self.c1)

self.c1.addAction(self.a1)

self.c1.addAction(self.a2)

self.c1.addAction(self.a3)

self.c1.addAction(self.a4)

#对排序方式

self.b1=QtGui.QAction(u'播放次数',self)

self.b2=QtGui.QAction(u'文件大小',self)

self.b3=QtGui.QAction(u'随机排序',self)

self.c2=QtGui.QMenu()

self.actionD.setMenu(self.c2)

self.c2.addAction(self.b1)

self.c2.addAction(self.b2)

self.c2.addAction(self.b3)

#对self.action*方法进行设置功能

self.actionA.triggered.connect(self.actionHta)

self.actionB.triggered.connect(self.actionHtb)

self.actionC.triggered.connect(self.actionHtc)

self.actionD.triggered.connect(self.actionHtd)

self.actionE.triggered.connect(self.actionHte)

self.actionF.triggered.connect(self.actionHtf)

self.actionG.triggered.connect(self.actionHtg)

self.actionH.triggered.connect(self.actionHth)

self.actionX.triggered.connect(self.actionHtx)

self.actionS.triggered.connect(self.actionHts)

self.actionU.triggered.connect(self.actionHtu)

ctypes.windll.user32.SetCursorPos(400,300)

win32gui.GetCursorPos()#鼠标坐标信息

#win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 400,200)

#time.sleep(0.05)

#win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 400, 400)

#self.connect(self.actionC,QtCore.SIGNAL('triggered()'),self.actionHtc)

def actionHts(self):#设置

self.setup =QtGui.QTextBrowser(self)

self.setup.setGeometry(100,70,600,400)

self.setup.show()

self.Optionsetting=QtGui.QLabel(u'选       项       设      置',self)

self.Optionsetting.setToolTip(u'选项设置')

self.Optionsetting.setGeometry(100,70,300,30)

self.Optionsetting.setFont(QtGui.QFont('OldEnglish', 15))

self.Optionsetting.show()

self.Generalsettings=QtGui.QPushButton(u'   常规设置',self)

self.Generalsettings.setToolTip(u'常规设置')

self.Generalsettings.setGeometry(100,95,150,30)

self.Generalsettings.setFont(QtGui.QFont('oldEnglish',15))

self.Generalsettings.setIcon(QtGui.QIcon('./Gear.png'))

self.Generalsettings.setIconSize(QtCore.QSize(35,21))

self.Generalsettings.setMask(QtGui.QPixmap("'./Gear.png").mask())

self.Generalsettings.setStyleSheet("* {  margin-top:0pt; ">        self.Generalsettings.show()

self.close1=QtGui.QPushButton(u'x',self)#功能完成

self.close1.setGeometry(670,70,30,20)

self.close1.setStyleSheet("* {  margin-top:0pt; ">        self.close1.setFont(QtGui.QFont('oldEnglish',15))

self.close1.show()

self.habit=QtGui.QPushButton(u'   操作习惯',self)

self.habit.setToolTip(u'操作习惯')

self. habit.setGeometry(100,135,150,30)

self.habit.setIcon(QtGui.QIcon('./Rocker.png'))

self.habit.setIconSize(QtCore.QSize(35,21))

self.habit.setMask(QtGui.QPixmap("'./Rocker.png").mask())

self.habit.setIconSize(QtCore.QSize(35,21))

self.habit.setFont(QtGui.QFont('oldEnglish',15))

self.habit.setStyleSheet("* {  margin-top:0pt; ">        self.habit.show()

self.Hotkey=QtGui.QPushButton(u'   热键设置',self)

self.Hotkey.setToolTip(u'热键设置')

self.Hotkey.setGeometry(100,175,150,30)

self.Hotkey.setIcon(QtGui.QIcon('./Hotkey settings.png'))

self.Hotkey.setIconSize(QtCore.QSize(35,21))

self.Hotkey.setMask(QtGui.QPixmap("'./Hotkey settings.png").mask())

self.Hotkey.setIconSize(QtCore.QSize(35,21))

self.Hotkey.setFont(QtGui.QFont('oldEnglish',15))

self.Hotkey.setStyleSheet("* {  margin-top:0pt; ">        self.Hotkey.show()

self.connect(self.close1,QtCore.SIGNAL('clicked()'),self.off)

self.close1.setToolTip(u'设置选项关闭')

#对常规设置按钮

self.connect(self.Generalsettings,QtCore.SIGNAL('clicked()'),self.Genetimes)

#self.Generalsettings=QtGui.QPushButton(u'   常规设置',self)继续做这个

def Genetimes(self):

self.mian=QtGui.QTextBrowser(self)

self.mian.setGeometry(300,50,500,400)

self.mian.show()

self.whenstar=QtGui.QLabel(u'启 动 时',self)

self.whenstar.setToolTip(u'启动时')

self.whenstar.setGeometry(300,60,200,25)

self.whenstar.setFont(QtGui.QFont('oldEnglish',20))

self.whenstar.show()

self.xian1=QtGui.QLabel(u'----------------------------',self)

self.xian1.setGeometry(410,60,500,35)

self.xian1.setFont(QtGui.QFont('oldEnglish',20))

self.xian1.show()

#复选框

self.radion1=QtGui.QCheckBox(u'自动播放歌曲',self)

self.radion1.setGeometry(300,85,150,35)

self.radion1.show()

self.radion1.toggle()#当checked状态发生改变时 发出toggled(bool) 信号

#如果想对复选框之类的东西进行选中的,就必须使用obj.toggle()这个方法

#toggle()切换反转的意思

#button.setCheckable(True) #设置为开关按钮 toggle 就是按下按钮不会弹起

self.connect(self.radion1,QtCore.SIGNAL('stateChanged(int)'),

self.radion2)#stateChanged(int)复选框被选中或清除

def off(self):

time.sleep(1)

print u'关闭中'

sys.exit(0)

time.sleep(1)

def radion2(self,value):

if self.radion1.isChecked():

self.radion1('Checkbox')

else:

self.radion1()

def actionHth(self):#查看歌曲信息

self.information =QtGui.QTextBrowser(self)

self.information.setGeometry(100,70,600,400)

self.information.setStyleSheet("* {  margin-top:0pt; ">        self.information.show()

self.heng1=QtGui.QLabel(u'----------------------------------------',self)

self.heng1.setGeometry(110,55,300,50)

self.heng1.show()

self.heng2=QtGui.QLabel(u'-------------------------------------------',self)

self.heng2.setGeometry(430,55,300,50)

self.heng2.show()

self.fileinformation=QtGui.QLabel(u'歌曲信息',self)

self.fileinformation.setFont(QtGui.QFont('OldEnglish', 15))

self.fileinformation.setGeometry(350,60,100,30)

self.fileinformation.setStyleSheet("* {  margin-top:0pt; ">        self.fileinformation.show()

self.for1=QtGui.QLabel(u'文件信息:',self)

self.for1.setFont(QtGui.QFont('OldEnglish', 15))

self.for1.setGeometry(110,85,300,40)

self.for1.show()

self.heng3=QtGui.QLabel(u'---------------------------------------------------------------------------------',self)

self.heng3.setGeometry(200,85,5000,50)

self.heng3.show()

self.filepath=QtGui.QLabel(u'音乐文件路径:',self)

self.filepath.setGeometry(110,115,300,70)

self.filepath.show()

self.filepath1=QtGui.QPushButton(u'浏览',self)

self.filepath1.setGeometry(200,135,50,30)

self.filepath1.show()

self.look=QtGui.QLabel(U'a',self)

self.filesize=QtGui.QLabel(u'音乐文件大小:',self)

self.filesize.setGeometry(110,160,100,50)

self.filesize.show()

self.filesize1=QtGui.QTextBrowser(self)

self.filesize1.setGeometry(200,170,160,30)

self.filesize1.show()

self.bytex=QtGui.QLabel(u':bytes(或字节)',self)

self.bytex.setGeometry(370,170,200,30)

self.bytex.setFont(QtGui.QFont('OldEnglish', 15))

self.bytex.show()

self.fileformat=QtGui.QLabel(u'音乐文件格式:',self)

self.fileformat.setGeometry(110,210,200,30)

self.fileformat.show()

self.fileformat1=QtGui.QTextBrowser(self)

self.fileformat1.setGeometry(200,210,200,30)

self.fileformat1.show()

self.singer=QtGui.QLabel(u'歌        手:',self)

self.singer.setGeometry(110,250,200,30)

self.singer.show()

self.singer1=QtGui.QTextBrowser(self)

self.singer1.setGeometry(200,250,200,30)

self.singer1.show()

self.album=QtGui.QLabel(u'专     辑:',self)

self.album.setGeometry(420,210,200,30)

self.album.show()

self.album1=QtGui.QTextBrowser(self)

self.album1.setGeometry(490,210,200,30)

self.album1.show()

self.timelength=QtGui.QLabel(u'时     长:',self)

self.timelength.setGeometry(420,250,200,30)

self.timelength.show()

self.timelength1=QtGui.QTextBrowser(self)

self.timelength1.setGeometry(490,250,200,30)

self.timelength1.show()

self.quality=QtGui.QLabel(u'音        质:',self)

self.quality.setGeometry(110,290,200,30)

self.quality.show()

self.quality1=QtGui.QTextBrowser(self)

self.quality1.setGeometry(200,290,200,30)

self.quality1.show()

def showContextMenu(self,pos):

self.contextMenu.move(self.pos()+pos)

self.contextMenu.show()

def actionHta(self):

self.list=[]

self.file1=QtGui.QFileDialog.getOpenFileNames(self,'Open file','/','p3(*.mp3)')

for files in range(len(self.file1)):

self.list.append(self.ui.text1.append(self.file1[files]))

"""

self.a1=QtGui.QAction(u'单曲循环',self)

self.a2=QtGui.QAction(u'单曲播放',self)

self.a3=QtGui.QAction(u'列表播放',self)

self.a4=QtGui.QAction(u'随机播放',self)

self.c1=QtGui.QMenu()#二级菜单创建

self.actionC.setMenu(self.c1)

self.c1.addAction(self.a1)

self.c1.addAction(self.a2)

self.c1.addAction(self.a3)

self.c1.addAction(self.a4)

"""

def actionHtc(self):#u'歌曲播放模式'

if self.actionC(self.c1):

print 'a'

def triggerEvent(self,action):

print('Event triggered: %s' % action.text())

def actionHtb(self):

self.ui.text1.clear()

"""

self.b1=QtGui.QAction(u'播放次数',self)

self.b2=QtGui.QAction(u'文件大小',self)

self.b3=QtGui.QAction(u'随机排序',self)

"""

def actionHtd(self):#'歌曲排序

print u'D'

def actionHte(self):#打开歌曲所在目录或者路径

print u'E'

def actionHtf(self,path):#歌曲重名名

pass

def actionHtg(self):#删除音乐文件

path=u'F:\\KuGou\\叮当 - 猜不透1.mp3'

if os.path.exists(path):

re1=QtGui.QMessageBox.question(self,u'删除当前选择歌曲',u'是否彻底删除歌曲?%s?'%(path),QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)

if re1==QtGui.QMessageBox.Yes:

print u'删除'

time.sleep(1)

os.remove(path)

else:

print u'未删除'

time.sleep(1)

pass

def actionHtx(self):#导出歌曲

pass

def actionHtu(self):#更新

print'U'

"""

def mousePressEvent(self,event):

if event.button()==Qt.LeftButton:

self.dragPosition=event.globalPos()-self.frameGeometry().topLeft()

event.accept()

if event.button()==Qt.RightButton:

self.ui.text1.pos()

print'aaaa'

def mouseMoveEvent(self,event):

if event.buttons() & Qt.LeftButton:

self.move(event.globalPos()-self.dragPosition)

event.accept()

"""

def addafile(self):

self.list=[]

self.file1=QtGui.QFileDialog.getOpenFileNames(self,'Open file','/','p3(*.mp3)')

for files in range(len(self.file1)):

self.list.append(self.ui.text1.append(self.file1[files]))

def vov(self,value):

self.pos=self.vox.value()

if self.pos==0:

print'声音静音0%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self1.jpg'))

self.ui.l1.setToolTip(u'静声')

elif 0<self.pos<=30:

print'声音中小25%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self2.jpg'))

self.ui.l1.setToolTip(u'声音达到25%')

elif 30<self.pos<=80:

print'声音较中50%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self3.jpg'))

self.ui.l1.setToolTip(u'声音达到50%')

elif 80<self.pos<=95:

print'声音较大75%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self4.jpg'))

self.ui.l1.setToolTip(u'声音达到75%')

else:

print'声音最大100%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self5.jpg'))

self.ui.l1.setToolTip(u'声音最大')

def showContextMenu(self,pos):

self.contextMenu.move(self.pos()+pos)

self.contextMenu.show()

def timerEvent(self,event):

if self.a>=100:

#self.vox()

self.timer.stop()

return

self.a+=1

self.vox.setValue(self.a)

def onstart(self):

if self.timer.isActive():

self.timer.stop()

else:

self.timer.start(100,self)

def about(self):#关于

about = QtGui.QMessageBox(self)

about.setWindowTitle(u'关于BUG Player')

about.setText(u"BUG音乐盒是一个简单MP3播放器\n\mhxy13867806343@live.cn,<a href=http://music.baidu.com/>http://music.baidu.com/songlist</a>")

about.show()

if __name__ == "__main__":

app = QtGui.QApplication(sys.argv)

myapp =MyForm()

myapp.show()

sys.exit(app.exec_())

#self.contextMenu.addAction(self.a1)

#self.contextMenu.addAction(self.a2)

#self.contextMenu.addAction(self.a3)

#self.contextMenu.addAction(self.a4)

"""

@pyqtSignature('QPoint')

def on_list(self):

item=self.ui.text1.isRightToLeft()

if item!=None:

self.createContexMenu()

"""

------

源代码2:

# -*- coding: utf-8 -*-

import sys,time,os

import ctypes

from PyQt4 import QtCore, QtGui,Qt

from PyQt4.QtCore import Qt

from PyQt4.QtCore import pyqtSignature

from mp import Ui_Form

import win32gui,subprocess,string

import glob

import win32api

import win32con

User32dll = ctypes.windll.User32

#print ctypes.windll.User32

class MyForm(QtGui.QMainWindow):

def __init__(self,parent=None):

QtGui.QWidget.__init__(self,parent)

self.ui=Ui_Form()

self.ui.setupUi(self)

self.createContexMenu()

self.ui.open1.setToolTip(u'添加文件/文件夹,Ctrl+O')

self.ui.open1.setShortcut(u'Ctrl+O')

self.ui.cha.setToolTip(u'查找当前目录文件/文件夹,Ctrl+F')

self.ui.cha.setShortcut(u'Ctrl+F')

self.ui.ting.setToolTip(u'暂停当前歌曲播放Ctrl+Alt+-')

self.ui.hou.setToolTip(u'向后一首Ctrl+Alt+[')

self.ui.qian.setToolTip(u'向前一首Ctrl+Alt+]')

self.ui.ting.setShortcut(u'Ctrl+Alt+-')

self.ui.hou.setShortcut(u'Ctrl+Alt+[')

self.ui.qian.setShortcut(u'Ctrl+Alt+]')

self.vox=QtGui.QSlider(QtCore.Qt.Horizontal,self)

self.vox.setFocusPolicy(QtCore.Qt.NoFocus)

self.vox.setGeometry(400, 40, 80, 30)

self.vox.setToolTip(u'声音')

self.lcd=QtGui.QLCDNumber(self)

self.lcd.setGeometry(530, 40, 80, 30)

self.vbox=QtGui.QVBoxLayout()

self.vbox.addWidget(self.lcd)

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self1.jpg'))

self.ui.l1.resize(30,30)

self.timer=QtCore.QBasicTimer()

self.a=0

#事件与信号

self.ra=QtGui.QButtonGroup(None)

self.ra.addButton( self.ui.ra1,0)

self.ra.addButton( self.ui.ra2,1)

self.ra.addButton( self.ui.ra3,2)

self.ra.addButton( self.ui.ra4,3)

self.connect(self.ra,QtCore.SIGNAL("clicked()"), self.buttonBoxx)

self.connect( self.ui.ra1, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra2, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra3, QtCore.SIGNAL("clicked()"),self.change)

self.connect( self.ui.ra4, QtCore.SIGNAL("clicked()"),self.change)

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.timerEvent)

self.connect(self.vox,QtCore.SIGNAL('valueChanged(int)'),

self.vov)

self.connect(self.vox,  QtCore.SIGNAL('valueChanged(int)'), self.lcd,

QtCore.SLOT('display(int)'))

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.onstart)

self.connect(self.vox, QtCore.SIGNAL('valueChanged(int)'), self.timerEvent)

self.connect(self.ui.hou,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲后一首

self.connect(self.ui.qian,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲前一首

self.connect(self.ui.ting,QtCore.SIGNAL('triggered()'),QtGui.qApp,QtCore.SLOT(''))#歌曲前暂停

self.connect(self.ui.open1, QtCore.SIGNAL('clicked()'), self.addafile)

self.ui.ra1.setToolTip(u'单曲播放')

self.ui.ra2.setToolTip(u'单曲循环')

self.ui.ra3.setToolTip(u'列表播放')

self.ui.ra4.setToolTip(u'随机播放')

self.vox.setToolTip(u'调节音量')

self.ui.text1.setToolTip(u'音乐')

self.ui.l1.setToolTip(u'静音')

self.timeclose1=QtGui.QPushButton(u'设置关机时间?',self)

self.timeclose1.setGeometry(700,520,100,20)

self.timeclose1.setToolTip(u'关机时间')

#self.ui.text1.toPlainText()对内容进行编辑

#toPlainText

#事件:

self.connect(self.ui.text1,QtCore.SIGNAL('(customContextMenuRequested'),self. createContexMenu)

self.ui.text1.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)

self.connect(self.timeclose1,QtCore.SIGNAL('clicked()'),self.timeclose2)

#self.connect(self.timeclose1,QtCore.SIGNAL('returnPressed()'),self.timeclose2)

#self.connect(self.ui.text1,QtCore.SIGNAL('clicked()'),self.ctypes1)

#######self.connect(self.ui.text1,QtCore.SIGNAL('clicked()'),self.t)

#self.lineedit.selectAll()  选中状态

#self.ui.text1.currentCharFormat()

#self.connect(self.ui.text1,QtCore.SIGNAL('(customContextMenuRequested'),self.t)#有问题

#有问题self.connect(self.ui.text1,QtCore.SIGNAL('clicked()'),self.open_x)

#self.ui.text1.redo()

#self.ui.text1.paste()

#移出和删除事件

#self.connect(self.ui.text1, QtCore.SIGNAL('itemDoubleClicked (QListWidgetItem *)'), self.textpaichu)

#self.connect(self.ui.text1, QtCore.SIGNAL('clicked()'),self.textremove )

self.connect(self.ui.text1, QtCore.SIGNAL('clicked()'),self.select1 )

#有问题self.connect(self.ui.text1,QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem*)"),self.paly)

QtCore.QMetaObject.connectSlotsByName(self)

def mouseDoubleClickEvent(self, event):

self.emit(QtCore.SIGNAL('doubleClick'))

def timeclose2(self):

self.gj1=QtGui.QLineEdit(self)

self.gj1.setGeometry(100,60,40,30)

text, ok = QtGui.QInputDialog.getText(self, u'请输入',

u'关机时间?')

if ok:

self.gj1.setText(unicode(text))

i=0

while (self.gj1.text()>i):

try:

if float(self.gj1.text())>=0 and float(self.gj1.text())<=23:

self.j=float(self.gj1.text())*3600-int(i)

print '离下次关机秒为:',str(self.j),'秒'

time.sleep(1)

self.popo=QtGui.QSystemTrayIcon(self)

self.icon1=QtGui.QIcon('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\pic.jpg')

self.popo.setIcon(self.icon1)

if int(self.j)<=0:

self.popo.show()

self.popo.showMessage(u"提示",u"还有30秒钟关机",icon=3)

#o="c:\\windows\\system32\\shutdown -s -t 30"

#os.system(o)

print u'爆炸了'

break

i+=1

else:

self.gj1.clear()

raise  IOError,'当前输入的数据超出23或者小于0'

if (self.gj1.text())==int(i):

pass

except ValueError:

self.gj1.clear()

print  QtGui.QMessageBox.information(self,'warn:',self.tr('The input is invalid or error')),self.gj1.text()

break

#播放方式

def change(self):

if self.ui.ra1.isChecked():

print u'单曲循环'

elif  self.ui.ra2.isChecked():

print u'单曲播放'

elif  self.ui.ra3.isChecked():

print u'列表播放'

elif self.ui.ra4.isChecked():

print u'随机播放'

else:

print u'未选择'

def buttonBoxx(self):

try:

if self.ra.checkedId():

print u'当前选中的是',self.ra.checkedId()

except Exception:

print 'error:',u'4个状态未选中'

def createContexMenu(self):

"""

创建右击菜单

"""

#self.text(Qt.CustomContextMenu)

self.setContextMenuPolicy(Qt.CustomContextMenu)

self.customContextMenuRequested.connect(self.showContextMenu)

#创建QMENU

self.contextMenu=QtGui.QMenu()

self.actionA=self.contextMenu.addAction(u'添加歌曲文件/歌曲文件夹(基本完成)')

self.actionA.setShortcut(u'Ctrl+O')

self.actionB=self.contextMenu.addAction(u'清除歌曲列表(基本完成)')

self.actionB.setShortcut(u'Ctrl+C')

self.actionC=self.contextMenu.addAction(u'歌曲播放模式')

self.actionD=self.contextMenu.addAction(u'歌曲排序')

self.actionD.setShortcut(u'Ctrl+#')

self.actionE=self.contextMenu.addAction(u'打开歌曲所在目录或者路径')

self.actionE.setShortcut(u'Ctrl+F')

self.actionF=self.contextMenu.addAction(u'歌曲重名名')

self.actionF.setShortcut(u'Ctrl+R')

self.actionG=self.contextMenu.addAction(u'删除音乐文件(包括硬盘中的文件)(基本完成)')

self.actionG.setShortcut(u'Ctrl+D')

self.actionH=self.contextMenu.addAction(u'查看歌曲信息(基本完成)')

self.actionH.setShortcut(u'Ctrl+H')

self.actionX=self.contextMenu.addAction(u'导出歌曲')

self.actionX.setShortcut(u'Ctrl+P')

self.actionS=self.contextMenu.addAction(u'设置')

self.actionS.setShortcut(u'Ctrl+M')

self.actionU=self.contextMenu.addAction(u'更新音乐文件')

self.actionU.setShortcut(u'Ctrl+U')

aboutAction = QtGui.QAction(QtGui.QIcon(""), u"关于(&A)(基本完成)", self)

self.contextMenu.addAction(aboutAction)

self.connect(aboutAction,QtCore.SIGNAL('triggered()'),self.about)

"""

self.she=QtGui.QPushButton(u'设置(M)',self)

self.she.setGeometry(230,490, 75, 23)

self.she.setToolTip(u'设置,Ctrl+M')

self.she.setShortcut(u'Ctrl+M')

"""

#对播放模式选择

self.a1=QtGui.QAction(u'单曲循环',self)

self.a2=QtGui.QAction(u'单曲播放',self)

self.a3=QtGui.QAction(u'列表播放',self)

self.a4=QtGui.QAction(u'随机播放',self)

self.c1=QtGui.QMenu()#二级菜单创建

self.actionC.setMenu(self.c1)

self.c1.addAction(self.a1)

self.c1.addAction(self.a2)

self.c1.addAction(self.a3)

self.c1.addAction(self.a4)

#对排序方式

self.b1=QtGui.QAction(u'播放次数',self)

self.b2=QtGui.QAction(u'文件大小',self)

self.b3=QtGui.QAction(u'随机排序',self)

self.c2=QtGui.QMenu()

self.actionD.setMenu(self.c2)

self.c2.addAction(self.b1)

self.c2.addAction(self.b2)

self.c2.addAction(self.b3)

#对self.action*方法进行设置功能

self.actionA.triggered.connect(self.actionHta)

self.actionB.triggered.connect(self.actionHtb)

self.actionC.triggered.connect(self.actionHtc)

self.actionD.triggered.connect(self.actionHtd)

self.actionE.triggered.connect(self.actionHte)

self.actionF.triggered.connect(self.actionHtf)

self.actionG.triggered.connect(self.actionHtg)

self.actionH.triggered.connect(self.actionHth)

self.actionX.triggered.connect(self.actionHtx)

self.actionS.triggered.connect(self.actionHts)

self.actionU.triggered.connect(self.actionHtu)

ctypes.windll.user32.SetCursorPos(400,300)

win32gui.GetCursorPos()#鼠标坐标信息

#win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 400,200)

#time.sleep(0.05)

#win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 400, 400)

#self.connect(self.actionC,QtCore.SIGNAL('triggered()'),self.actionHtc)

def actionHts(self):#设置

self.setup =QtGui.QTextBrowser(self.ui.text1)#####

self.setup.setGeometry(100,70,600,400)

self.setup.show()

self.Optionsetting=QtGui.QLabel(u'选       项       设      置',self)

self.Optionsetting.setToolTip(u'选项设置')

self.Optionsetting.setGeometry(100,70,300,30)

self.Optionsetting.setFont(QtGui.QFont('OldEnglish', 15))

self.Optionsetting.show()

self.Generalsettings=QtGui.QPushButton(u'   常规设置',self)

self.Generalsettings.setToolTip(u'常规设置')

self.Generalsettings.setGeometry(100,95,150,30)

self.Generalsettings.setFont(QtGui.QFont('oldEnglish',15))

self.Generalsettings.setIcon(QtGui.QIcon('./Gear.png'))

self.Generalsettings.setIconSize(QtCore.QSize(35,21))

self.Generalsettings.setMask(QtGui.QPixmap("'./Gear.png").mask())

self.Generalsettings.setStyleSheet("* {  margin-top:0pt; ">        self.Generalsettings.show()

self.close1=QtGui.QPushButton(u'x',self)#功能完成

self.close1.setGeometry(670,70,30,20)

self.close1.setStyleSheet("* {  margin-top:0pt; ">        self.close1.setFont(QtGui.QFont('oldEnglish',15))

self.close1.show()

self.habit=QtGui.QPushButton(u'   操作习惯功能暂不支持',self)

self.habit.setToolTip(u'操作习惯功能暂不支持')

self. habit.setGeometry(100,135,150,30)

self.habit.setIcon(QtGui.QIcon('./Rocker.png'))

self.habit.setIconSize(QtCore.QSize(35,21))

self.habit.setMask(QtGui.QPixmap("'./Rocker.png").mask())

self.habit.setIconSize(QtCore.QSize(35,21))

self.habit.setFont(QtGui.QFont('oldEnglish',15))

self.habit.setStyleSheet("* {  margin-top:0pt; ">        self.habit.show()

self.Hotkey=QtGui.QPushButton(u'   热键设置',self)

self.Hotkey.setToolTip(u'热键设置')

self.Hotkey.setGeometry(100,175,150,30)

self.Hotkey.setIcon(QtGui.QIcon('./Hotkey settings.png'))

self.Hotkey.setIconSize(QtCore.QSize(35,21))

self.Hotkey.setMask(QtGui.QPixmap("'./Hotkey settings.png").mask())

self.Hotkey.setIconSize(QtCore.QSize(35,21))

self.Hotkey.setFont(QtGui.QFont('oldEnglish',15))

self.Hotkey.setStyleSheet("* {  margin-top:0pt; ">        self.Hotkey.show()

self.connect(self.close1,QtCore.SIGNAL('clicked()'),self.off)

self.close1.setToolTip(u'设置选项关闭')

#对常规设置按钮

self.connect(self.Generalsettings,QtCore.SIGNAL('clicked()'),self.Genetimes)

self.connect(self.Hotkey,QtCore.SIGNAL('clicked()'),self.Shortcutkeys)

self.setup.exec_(QtGui.QCursor.pos())#有问题

#self.Generalsettings=QtGui.QPushButton(u'   常规设置',self)继续做这个

def Shortcutkeys(self):

self.button=QtGui.QTextBrowser(self)

self.button.setGeometry(300,100,400,400)

self.button.show()

self.tab=QtGui.QTableWidget(10,2,self)

self.tab.setGeometry(320,120,300,300)

self.tab.setHorizontalHeaderLabels([u'动作内容',u'全局快捷键(热键 )'])

self.tab.show()

self.dongzuo1=QtGui.QTableWidgetItem(u'打开文件/文件夹')

self.rj1=QtGui.QTableWidgetItem(u'Ctrl+O')

self.tab.setItem(0,0,self.dongzuo1)

self.tab.setItem(0,1,self.rj1)

self.dongzuo2=QtGui.QTableWidgetItem(u'查找音乐文件')

self.rj2=QtGui.QTableWidgetItem(u'Ctrl+F')

self.qian1=QtGui.QTableWidgetItem(u'向前一首')

self.rj3=QtGui.QTableWidgetItem(u'Ctrl+Alt+]')

self.hou1=QtGui.QTableWidgetItem(u'向后一首')

self.rj4=QtGui.QTableWidgetItem(u'Ctrl+Alt+[')

self.ting1=QtGui.QTableWidgetItem(u'暂停当前歌曲')

self.rj5=QtGui.QTableWidgetItem(u'Ctrl+aLT+-')

self.tab.setItem(0,2,self.dongzuo2)

self.tab.setItem(1,1,self.rj2)

self.tab.setItem(0,4,self.qian1)

self.tab.setItem(1,3,self.rj3)

self.tab.setItem(0,6,self.hou1)

self.tab.setItem(1,5,self.rj4)

self.tab.setItem(0,8,self.ting1)

self.tab.setItem(1,7,self.rj5)

self.tab.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

self.tab.setEditTriggers(QtGui.QAbstractItemView.SelectedClicked)

self.tab.verticalHeader().setVisible(False)#隐藏行与列

#self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self5.jpg'))

self.close3=QtGui.QPushButton(self)

self.close3.setGeometry(570,395,30,25)

self.close3.setIcon(QtGui.QIcon('./Rocker.png'))

self.close3.setIconSize(QtCore.QSize(20,170))

self.close3.setMask(QtGui.QPixmap(('./Rocker.png')).mask())

self.close3.setToolTip(u'热键设置关闭')

self.close3.show()

self.connect(self.close3,QtCore.SIGNAL('clicked()'),self.close3_1)

def close3_1(self):#有问题

sys.exit(0)

def Genetimes(self):

self.mian=QtGui.QTextBrowser(self)

self.mian.setGeometry(300,50,500,400)

self.mian.show()

self.whenstar=QtGui.QLabel(u'启 动 时',self)

self.whenstar.setToolTip(u'启动时')

self.whenstar.setGeometry(300,60,200,25)

self.whenstar.setFont(QtGui.QFont('oldEnglish',20))

self.whenstar.show()

self.xian1=QtGui.QLabel(u'----------------------------',self)

self.xian1.setGeometry(410,60,500,35)

self.xian1.setFont(QtGui.QFont('oldEnglish',20))

self.xian1.show()

#复选框

self.radion1=QtGui.QCheckBox(u'自动播放歌曲',self)

self.radion1.setGeometry(300,85,150,35)

self.radion1.show()

self.radion1.toggle()#当checked状态发生改变时 发出toggled(bool) 信号

#如果想对复选框之类的东西进行选中的,就必须使用obj.toggle()这个方法

#toggle()切换反转的意思

#button.setCheckable(True) #设置为开关按钮 toggle 就是按下按钮不会弹起

self.xian2=QtGui.QLabel(u'-----------------------------------',self)

self.xian2.setGeometry(300,100,1000,35)

self.xian2.setFont(QtGui.QFont('oldEnglish',20))

self.xian2.show()

self.close2=QtGui.QLabel(u'关闭或者缩小',self)

self.close2.setGeometry(300,130,170,35)

self.close2.setFont(QtGui.QFont('oldEnglish',20))

self.close2.show()

self.radion_1=QtGui.QRadioButton(u'最小化到系统托盘,不退出程序',self)

self.radion_2=QtGui.QRadioButton(u'退出程序',self)

#self.radion_1.setChecked(True)

self.radion_1.setGeometry(330,150,180,35)

self.radion_2.setGeometry(330,170,150,35)

#self.radion_1.toggle()

self.radion_1.show()

self.radion_2.show()

self.radion1.setFocusPolicy(QtCore.Qt.NoFocus)

self.radion_1.setFocusPolicy(QtCore.Qt.NoFocus)

self.radion_2.setFocusPolicy(QtCore.Qt.NoFocus)

self.xian3=QtGui.QLabel(u'-----------------------------------',self)

self.xian3.setGeometry(300,180,1000,35)

self.xian3.setFont(QtGui.QFont('oldEnglish',20))

self.xian3.show()

self.delete=QtGui.QLabel(u'是否保留文件?',self)

self.delete.setGeometry(300,200,175,35)

self.delete.setFont(QtGui.QFont('oldEnglish',20))

self.delete.show()

self.Retention=QtGui.QRadioButton(u'保留本地歌曲文件?',self)

self.Retention.setGeometry(320,220,175,35)

self.Retention.show()

self.connect(self.radion1,QtCore.SIGNAL('stateChanged(int)'),

self.radion2)#stateChanged(int)复选框被选中或清除

self.connect(self.radion_1,QtCore.SIGNAL('clicked()'),

self.radion_x)#stateChanged(int)复选框被选中或清

self.connect(self.radion_2,QtCore.SIGNAL('clicked()'),

self.radion_x1)#stateChanged(int)复选框被选中或清

self.connect(self.Retention,QtCore.SIGNAL('clicked()'),

self.Retention1)

def Retention1(self):

if self.Retention.isChecked():

path=u'F:\\KuGou\\叮当 - 猜不透1.mp3'

reply=QtGui.QMessageBox.question(self,u'是否保留本地文件?',

u'确定要删除本地文件吗?',QtGui.QMessageBox.Yes,

QtGui.QMessageBox.No)

if reply==QtGui.QMessageBox.Yes:

print u'删除本地硬盘文件'

os.remove(path)

else:

print u'不删除本地硬盘文件'

def off(self):#有问题

time.sleep(1)

print u'关闭中'

sys.exit(0)

time.sleep(1)

def radion2(self,value):

if self.radion1.isChecked():

print  u'已选中'

else:

print  u'未选中'

def radion_x(self):

if self.radion_1.isChecked():

print 'self.radion_1',u'选中'

else:

print 'self.radion_1',u'未选中'

def radion_x1(self):

if self.radion_2.isChecked():

print 'self.radion_2',u'选中'

else:

print 'self.radion_2',u'未选中'

def actionHth(self):#查看歌曲信息

self.information =QtGui.QTextBrowser(self)

self.information.setGeometry(100,70,600,400)

self.information.setStyleSheet("* {  margin-top:0pt; ">        self.information.show()

self.heng1=QtGui.QLabel(u'----------------------------------------',self)

self.heng1.setGeometry(110,55,300,50)

self.heng1.show()

self.heng2=QtGui.QLabel(u'-------------------------------------------',self)

self.heng2.setGeometry(430,55,300,50)

self.heng2.show()

self.fileinformation=QtGui.QLabel(u'歌曲信息',self)

self.fileinformation.setFont(QtGui.QFont('OldEnglish', 15))

self.fileinformation.setGeometry(350,60,100,30)

self.fileinformation.setStyleSheet("* {  margin-top:0pt; ">        self.fileinformation.show()

self.for1=QtGui.QLabel(u'文件信息:',self)

self.for1.setFont(QtGui.QFont('OldEnglish', 15))

self.for1.setGeometry(110,85,300,40)

self.for1.show()

self.heng3=QtGui.QLabel(u'---------------------------------------------------------------------------------',self)

self.heng3.setGeometry(200,85,5000,50)

self.heng3.show()

self.filepath=QtGui.QLabel(u'音乐文件路径:',self)

self.filepath.setGeometry(110,115,300,70)

self.filepath.show()

self.filepath1=QtGui.QPushButton(u'浏览',self)

self.filepath1.setGeometry(200,135,50,30)

self.filepath1.show()

self.look=QtGui.QLabel(U'a',self)

self.filesize=QtGui.QLabel(u'音乐文件大小:',self)

self.filesize.setGeometry(110,160,100,50)

self.filesize.show()

self.filesize1=QtGui.QTextBrowser(self)

self.filesize1.setGeometry(200,170,160,30)

self.filesize1.show()

self.bytex=QtGui.QLabel(u':bytes(或字节)',self)

self.bytex.setGeometry(370,170,200,30)

self.bytex.setFont(QtGui.QFont('OldEnglish', 15))

self.bytex.show()

self.fileformat=QtGui.QLabel(u'音乐文件格式:',self)

self.fileformat.setGeometry(110,210,200,30)

self.fileformat.show()

self.fileformat1=QtGui.QTextBrowser(self)

self.fileformat1.setGeometry(200,210,200,30)

self.fileformat1.show()

self.singer=QtGui.QLabel(u'歌        手:',self)

self.singer.setGeometry(110,250,200,30)

self.singer.show()

self.singer1=QtGui.QTextBrowser(self)

self.singer1.setGeometry(200,250,200,30)

self.singer1.show()

self.album=QtGui.QLabel(u'专     辑:',self)

self.album.setGeometry(420,210,200,30)

self.album.show()

self.album1=QtGui.QTextBrowser(self)

self.album1.setGeometry(490,210,200,30)

self.album1.show()

self.timelength=QtGui.QLabel(u'时     长:',self)

self.timelength.setGeometry(420,250,200,30)

self.timelength.show()

self.timelength1=QtGui.QTextBrowser(self)

self.timelength1.setGeometry(490,250,200,30)

self.timelength1.show()

self.quality=QtGui.QLabel(u'音        质:',self)

self.quality.setGeometry(110,290,200,30)

self.quality.show()

self.quality1=QtGui.QTextBrowser(self)

self.quality1.setGeometry(200,290,200,30)

self.quality1.show()

def showContextMenu(self,pos):

self.contextMenu.move(self.pos()+pos)

self.contextMenu.show()

def actionHta(self):

self.list=[]

self.file1=QtGui.QFileDialog.getOpenFileNames(self,'Open file','/','mp3(*.mp3)')

#for files in range(len(self.file1)):

#for it in glob.glob(self.file1):

for it in self.file1:

#self.list.append(self.ui.text1.append(self.file1[files]))

self.ui.text1.addItem(it)

"""

self.a1=QtGui.QAction(u'单曲循环',self)

self.a2=QtGui.QAction(u'单曲播放',self)

self.a3=QtGui.QAction(u'列表播放',self)

self.a4=QtGui.QAction(u'随机播放',self)

self.c1=QtGui.QMenu()#二级菜单创建

self.actionC.setMenu(self.c1)

self.c1.addAction(self.a1)

self.c1.addAction(self.a2)

self.c1.addAction(self.a3)

self.c1.addAction(self.a4)

"""

def actionHtc(self):#u'歌曲播放模式'

if self.actionC(self.c1):

print 'a'

def triggerEvent(self,action):

print('Event triggered: %s' % action.text())

def actionHtb(self):

self.ui.text1.clear()

"""

self.b1=QtGui.QAction(u'播放次数',self)

self.b2=QtGui.QAction(u'文件大小',self)

self.b3=QtGui.QAction(u'随机排序',self)

"""

def actionHtd(self):#'歌曲排序

print u'D'

def actionHte(self):#打开歌曲所在目录或者路径

print u'E'

def actionHtf(self,path):#歌曲重名名

pass

def actionHtg(self):#删除音乐文件

path=u'F:\\KuGou\\叮当 - 猜不透1.mp3'

if os.path.exists(path):

re1=QtGui.QMessageBox.question(self,u'删除当前选择歌曲',u'是否彻底删除歌曲?%s?'%(path),QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)

if re1==QtGui.QMessageBox.Yes:

print u'删除'

time.sleep(1)

os.remove(path)

else:

print u'未删除'

time.sleep(1)

pass

def actionHtx(self):#导出歌曲

pass

def actionHtu(self):#更新

print'U'

"""

def mousePressEvent(self,event):

if event.button()==Qt.LeftButton:

self.dragPosition=event.globalPos()-self.frameGeometry().topLeft()

event.accept()

if event.button()==Qt.RightButton:

self.ui.text1.pos()

print'aaaa'

def mouseMoveEvent(self,event):

if event.buttons() & Qt.LeftButton:

self.move(event.globalPos()-self.dragPosition)

event.accept()

"""

def addafile(self):

self.list=[]

self.file1=QtGui.QFileDialog.getOpenFileNames(self,'Open file','/','mp3(*.mp3)')

#for files in range(len(self.file1)):

#for it in glob.glob(self.file1):

for it in self.file1:

#self.list.append(self.ui.text1.append(self.file1[files]))

self.ui.text1.addItem(it)

def vov(self,value):

self.pos=self.vox.value()

if self.pos==0:

print'声音静音0%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self1.jpg'))

self.ui.l1.setToolTip(u'静声')

elif 0<self.pos<=30:

print'声音中小25%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self2.jpg'))

self.ui.l1.setToolTip(u'声音达到25%')

elif 30<self.pos<=80:

print'声音较中50%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self3.jpg'))

self.ui.l1.setToolTip(u'声音达到50%')

elif 80<self.pos<=95:

print'声音较大75%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self4.jpg'))

self.ui.l1.setToolTip(u'声音达到75%')

else:

print'声音最大100%'

self.ui.l1.setPixmap(QtGui.QPixmap('E:\\pyqt\\2013year9month2\\flie1\\BUGmusicbox\\self5.jpg'))

self.ui.l1.setToolTip(u'声音最大')

def showContextMenu(self,pos):

self.contextMenu.move(self.pos()+pos)

self.contextMenu.show()

def timerEvent(self,event):

if self.a>=100:

#self.vox()

self.timer.stop()

return

self.a+=1

self.vox.setValue(self.a)

def onstart(self):

if self.timer.isActive():

self.timer.stop()

else:

self.timer.start(100,self)

def paly(self):

self.signallist=self.sender()

self.itek=self.signallist.currentRow()

self.itemtext=self.ui.text1[self.itek]

self.url=string.split(self.itemtext)[1]

subprocess.Popen(['smplay',self.url])

def about(self):#关于

about = QtGui.QMessageBox(self)

about.setWindowTitle(u'关于BUG Player')

about.setText(u"BUG音乐盒是一个简单MP3播放器\n\mhxy13867806343@live.cn,<a href=http://music.baidu.com/>http://music.baidu.com/songlist</a>")

about.show()

#排出

def textpaichu(self):

self.ui.text1.takeItem(self.ui.text1.currentRow())

# self.lst.setSortingEnabled(True)进行从下面开始到上面的进行排序

#删除

def textremove(self):

self.ui.text1.takeItem(self.ui.text1.currentRow())

def select1(self):

self.ui.text1.selectedItems()

#空白处不进行右击操作

@pyqtSignature('QPoint')

def on_listview_customcontextme(self,point):

self.uite=self.ui.text1.itemAt(point)

if self.uite!=None:

self.createContexMenu()

if __name__ == "__main__":

app = QtGui.QApplication(sys.argv)

myapp =MyForm()

myapp.show()

sys.exit(app.exec_())

#self.contextMenu.addAction(self.a1)

#self.contextMenu.addAction(self.a2)

#self.contextMenu.addAction(self.a3)

#self.contextMenu.addAction(self.a4)

"""

@pyqtSignature('QPoint')

def on_list(self):

item=self.ui.text1.isRightToLeft()

if item!=None:

self.createContexMenu()

@pyqtSignature("QTreeWidgetItem(int)")

def on_textBrowser(self,item,index):

self.open_bookmark()

#打开后编辑

def open_x(self):

self.ui.text1.openPersistentEditor(QtGui.QListWidgetItem.Type)

pass

@pyqtSignature("QListWidgetItem*")

def on1(self,item_new):

self.open_pdf_file()

"""

pyqt小例子 音乐盒的更多相关文章

  1. pyqt小例子 treewidget

    # -*- coding: cp936 -*- from PyQt4.QtCore import * from PyQt4.QtGui import * class InlineEditor(QWid ...

  2. pyqt小例子

    from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QApplication, QMainWindow imp ...

  3. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  4. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  5. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  6. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  7. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  8. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  9. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

随机推荐

  1. [nagios监控] NRPE: Unable to read output 的原因及排除

    nrpe被监控端运行定义命令正常,监控端运行 #/usr/local/nagios/libexec/check_nrpe -H 117.121.9.200 -c check_oracle_tables ...

  2. UI Prototype Design IDE( 界面原型设计工具 )

    UI Prototype Design IDE( 界面原型设计工具 )   如何用工具去与客户进行交流,互动,定义要做的系统,什么什么的... 0.Balsamiq Mockups http://ww ...

  3. mysql中DES加密解密

      DES_DECRYPT(crypt_str[,key_str]) 使用DES_ENCRYPT()加密一个字符串.若出现错误,这个函数会返回 NULL. 注意,这个函数只有当MySQL在SSL 的支 ...

  4. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  5. Electron开发环境部署

    Electron开发环境部署 安装node.js 可以从node.js官方网站上获取安装包,并进行安装,安装完可以通过 ndoe -v 指令进行版本查看. 本文的开发环境为node.js 4.4.5. ...

  6. Swift--基础(一)基本类型 符号 字符串(不熟的地方)

    常量 变量 let age = 20 常量不可变 var num = 24 变量可变 let count:Int = 2 定义类型 Double(count)  类型转换 符号 1.?? let de ...

  7. JSP中页面定时刷新

    1.JSP中页面定时刷新 <% //页面每隔30秒自动刷新一遍 response.setHeader("refresh" , "30" ); %> ...

  8. CSS应用二

    样式中的顺序问题. 如:padding,margin,border,等,都是按照顺时针方向赋值的,及上右下左. Padding:1px 2px 3px 4px;(top:1px;right:2px;b ...

  9. Backbone的id

    id 在model.attributes中,需要用户自行定义,可不定义,获取方法:model.get('id') cid collection中每个model都有的属性,由backbone自动生成,获 ...

  10. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...