Abrir um arquivo .txt dentro do Qt em uma QlistView utilizando python.
-
Olá pessoal!
Fiz um pequeno programa que abre um QFileDialog e pede para selecionar um arquivo. Eu desejo selecionar um arquivo .txt e abrir dentro de uma QlistView, tudo isso em python.
O meu programa só abre a janela e seleciona o arquivo, mas eu não sei como abri-lo dentro do Qt. Ele está assim:
from PyQt4 import QtCore, QtGui
from Tkinter import *
import tkFileDialog
import Tkconstantstry:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return stry:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)def slot1():
root = Tk()
root.fileName = tkFileDialog.askopenfilename( filetypes = ( ("some", ".txt"),("All files", ".*") ) )f = open(root.fileName, "r") print f.readlines() #pass
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
Form.resize(509, 308)
self.label = QtGui.QLabel(Form)
self.label.setGeometry(QtCore.QRect(30, 30, 71, 16))
self.label.setObjectName(_fromUtf8("label"))
self.toolButton = QtGui.QToolButton(Form)
self.toolButton.setGeometry(QtCore.QRect(110, 30, 25, 19))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("../../../Users/Dimitrius/Desktop/7547_128x128.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.toolButton.setIcon(icon)
self.toolButton.setObjectName(_fromUtf8("toolButton"))
self.treeWidget = QtGui.QTreeWidget(Form)
self.treeWidget.setGeometry(QtCore.QRect(25, 80, 301, 192))
self.treeWidget.setObjectName(_fromUtf8("treeWidget"))self.retranslateUi(Form) QtCore.QObject.connect(self.toolButton, QtCore.SIGNAL(_fromUtf8("clicked()")), slot1) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): Form.setWindowTitle(_translate("Form", "Form", None)) self.label.setText(_translate("Form", "Abrir Modelo:", None)) self.toolButton.setText(_translate("Form", "...", None)) self.treeWidget.headerItem().setText(0, _translate("Form", "Modelo:", None))
if name == "main":
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_()) -
o Dialog eu abri em:
def slot1(): root = Tk() root.fileName = tkFileDialog.askopenfilename( filetypes = ( (“some”, “.txt”),(“All files”, “.*”) ) )
agora eu quero saber como abrir o arquivo (.txt) dentro do Qt quando eu selecioná-lo na janela QFileDialog -
Conheço pouco de Python, mas fiz um teste aqui com o PySide. Não usei o dialog do Tk (tkFileDialog) e sim o do Qt:
@
fileName, _ = QFileDialog.getOpenFileName(None, "Abre arquivo", ".", "Todos os arquivos(.)");qFile = QFile(fileName);
if (qFile.open(QFile.ReadOnly)) :
stream = QTextStream(qFile)
conteudo = stream.readAll()
print conteudo;
@