# -*- coding: utf-8 -*-
from PySide import QtGui, QtCore
import os
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
class MyLineEdit(QtGui.QLineEdit):
def __init__( self, parent=None ):
super(MyLineEdit, self).__init__(parent)
self.setDragEnabled(True)
def dragEnterEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dragMoveEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dropEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
filepath = str(urls[0].path())[1:]
filepath=filepath.decode('utf-8')
self.setText(filepath)
class LoginDialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.setWindowTitle(u'python_64')
self.resize(300, 150)
self.leName = MyLineEdit(self)
#print "type",type(self.leName)
self.list1=[]
self.list1.append(self.leName)
#print "type",type(self.list1[0])
self.leName.setPlaceholderText(u'file path')
self.pbLogin = QtGui.QPushButton(u'确定', self)
self.pbCancel = QtGui.QPushButton(u'关闭', self)
self.horizontalGroupBox = QtGui.QGroupBox("login")
layout = QtGui.QVBoxLayout()
layout.addWidget(self.leName)
self.horizontalGroupBox.setLayout(layout)
layout1 = QtGui.QVBoxLayout()
layout1.addWidget(self.horizontalGroupBox)
# 放一个间隔对象美化布局
spacerItem = QtGui.QSpacerItem(20, 48, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
layout1.addItem(spacerItem)
# 按钮布局
buttonLayout = QtGui.QHBoxLayout()
# 左侧放一个间隔
spancerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
buttonLayout.addItem(spancerItem2)
buttonLayout.addWidget(self.pbLogin)
buttonLayout.addWidget(self.pbCancel)
layout1.addLayout(buttonLayout)
self.setLayout(layout1)
self.pbLogin.clicked.connect(self.login)
self.pbCancel.clicked.connect(self.close)
def login(self):
gettime= ("\""+self.list1[0].text()+"\"").encode(sys.getfilesystemencoding())
try:
com=r"D:\LenovoC\Python2.7\python.exe "+(gettime)
os.system(com)
except Exception as e:
print e
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
dialog = LoginDialog()
dialog.show()
sys.exit(app.exec_())
将要运行的代码拖入其中就可以运行了。