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 Tkconstants

    try:
    _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
    def _fromUtf8(s):
    return s

    try:
    _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_())



  • Você quer abrir o dialog do Qt, em vez do Tk, ou quer saber como criar o QListView?



  • 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;
    @



  • Não to conseguindo inserir este código que você enviou no meu acima.
    O código que mostrei, foi gerado pelo pyiuc4 e eu coloquei aquela função slot1() lá.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.