1
我在PyQt4中構建一個程序,它需要從多個文本文件中提取數據。我有一個按鈕,將選擇文件:它的代碼是在PyQt中讀取文件
qtCreatorFile = 'parser.ui'
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.file_selector.clicked.connect(self.File_Selector)
self.log
def File_Selector(self):
files_list = []
filenames = str(QFileDialog.getOpenFileNames(self, "Select File", "", "*.txt"))
self.log.insertPlainText('Loading files ' + '\n')
self.log.insertPlainText(filenames + '\n')
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
當按鈕被按下時,我可以選擇我需要的文本文件,但我不能讀?當我問它打印的文件名在日誌中它給了我<PyQt4.QtCore.QStringList object at 0x0000000002BD0BA8>
我也試過:
text = open(filenames).read()
self.log.insertPlainText(text)
但是,讓IOError: [Errno 22] invalid mode ('r') or filename: '<PyQt4.QtCore.QStringList object at 0x0000000002F00BA8>
讓我怎麼做QStringList object
可讀?
啊好吧。所以如果我想加載多個文件,我必須得到文件路徑,然後將其傳遞到程序的另一部分,或選擇目錄? – Charlietrypsin