Я строю программу в 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
читаемым?
Ahh okay. Поэтому, если я хочу загрузить несколько файлов, мне придется либо получить путь к файлу, а затем передать это на другую часть программы или выбрать каталог? – Charlietrypsin