2010-04-16 12 views
1

je souhaite faire petit gui avec pyqt4 qui montrent la sortie de "dir c: \ windows \" ligne par ligne Je cherche QlistView mais je ne comprends pas comment le faire. Quelqu'un peut-il m'aider?Python Qlistview sortie dir

Répondre

1

Essayez QListWidget au lieu de QListView. QListWidget étend QListView et ajoute des méthodes très utiles comme addItems. Je vais supposer que vous savez comment créer la partie GUI de l'application en utilisant Designer.

Si vous avez un objet QListWidget qlistwidget, le code serait:

values = os.listdir("c:\\windows") 

qlist = QtCore.QStringList(map(QtCore.QString, values)) 
qlistwidget.addItems(qlist) 
+0

Merci pour ce travail! Je le fais aussi avec QlistView (j'ai fait un tableau et ensuite j'imprime la valeur sur Qlistview). Si je veux faire une action comme sélectionner un fichier et le copier dans le même répertoire avec une autre extension pouvez-vous suggérer comment le faire? Merci pour votre relecture – ester23

+0

Vérifiez 'shutil.copy (src, dst)', http://docs.python.org/library/shutil.html#shutil.copy – tgray

1
import os 
for root, dirs, files in os.walk(r'C:\windows'): 
    //add your QlistView add codes here 
+0

Salut Mark Merci pour votre replay rapide. Pour la liste dir i utiliser: pour nom de fichier dans os.listdir (« c: \\ windows »): imprimer le nom de fichier Mon problème est le port de la sortie de la commande dans l'interface utilisateur graphique (je cherche mais je QListView ne sais pas comment le faire) – ester23

+0

@ ester23, si gui est sous votre contrôle, vous pouvez directement utiliser les résultats os.listdir, au lieu d'imprimer sur la console et obtenir des résultats. – YOU

+0

Oui est sous mon contrôle. Est seulement un test pour apprendre pyqt. Je souhaite imprimer ligne par ligne car je veux faire une action sur le fichier (comme renommer, faire une copie, etc). Mais je ne connais pas la façon de le faire, donc je lis à propos de QlistView mais je ne sais pas comment laisser travailler cela. Merci pour votre aide – ester23