源代码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. 【C#通用类】日志记录类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  2. Android设置上下边框或者左右边框

    <?xml version="1.0" encoding="utf-8"?> <com.sunskyjun.fwproject.widgts. ...

  3. VS2008编程软件过期的问题,过期弹出须要升级窗体的解决的方法

    找到安装文件,再点autorun.exe安装文件,然后反复安装过程就会弹出须要填写系列号的地方,天上以下第一个系列号就可以. Visual Studio 2008 Professional Editi ...

  4. Python对文件的操作(转)

    一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python 核心编程>上说的很晦涩,这里没有深刻理解到,希望有人能解释给我听. >>> ...

  5. Sqlserver2012数据库乱码的解决方法

    Sqlserver2012数据库乱码的解决方法 1.      在创建数据库时,一定要指定数据库的排序规则 2.      输入数据库名称 3.      选中选项,在排序规则中选中Chinese_P ...

  6. Android(通用机能)

    数据存储 本地数据存在都是私有化的. 共享方法1是构造数据源组件.方法2将数据放入扩展存储设备. Mashup 服务组件默认没有运行在独立进程或线程中,因此费时操作一般需要起线程.可配置指定新进程. ...

  7. 【nodejs学习】2.网络相关

    1.官方文档的一个小例子 //http是内置模块 var http = require('http'); http.createServer(function(request, response){ ...

  8. The type or namespace name 'Script' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

    应该说是 .net4 的bug,没有所谓的 System.Web.Extensions.dll 库文件,需要将项目的 Target Framework修改为 3.5版本,才能加载System.Web. ...

  9. Visual Studio Code使用typings拓展自动补全功能

    转自:http://blog.csdn.net/liyijun4114/article/details/51658087 参考来源: 官方介绍: https://code.visualstudio.c ...

  10. polygonZM---> poliygon

    ArcToolbox > Conversion Tools > To Shapefile > Feature Class To Shapefile (multiple)   Clic ...