我正在尝试创建一个gui文件转换器。我想选择要转换的文件并使用我的函数转换文件。
class Window(QtGui.QDialog):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.setGeometry(500, 300, 800, 600)
self.setWindowTitle("Convert XML to CSV!")
# Open a FILE and append to screen
self.buttonSelect = QtGui.QPushButton('Select Files', self)
self.buttonSelect.move(350, 100)
self.buttonSelect.clicked.connect(self.handleButton)
self.buttonConvert = QtGui.QPushButton('Convert', self)
self.buttonConvert.move(50,100)
self.buttonConvert.setFixedSize(155,100)
self.buttonConvert.clicked.connect(self.convert)
def handleButton(self):
title = self.buttonSelect.text()
file_list = QtGui.QFileDialog.getOpenFileNames(self, title)
for path in file_list:
print (path)
self.fileList = file_list
self.askForfFile.setText(path)
return file_list
def convertor(self):
# process all non-master CSVs
for fileLocated in os.listdir(directoryPath):
if fileLocated.endswith(".csv") and 'master' not in fileLocated.lower():
csvFilename = fileLocated
etc..
任何帮助都将受到赞赏或指导!是因为标签在浏览器中不起作用而间隔关闭:(
答案 0 :(得分:0)
我不太确定这是不是你的问题:
QFileDialog.getOpenFileNames(self, title)
返回一个元组,其中包含所选文件的列表及其完整路径和过滤器resp。如果未设置过滤器,则为空字符串。因此,您必须迭代file_list[0]
以获取所选文件。如果您在此处设置过滤器,则用户只能选择与过滤器匹配的文件:
file_list = QtGui.QFileDialog.getOpenFileNames(self, title, None, 'CSV-files: *.csv')
for path in file_list[0]:
....