IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

QListWidget et affichage d'un fichier texte

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Par défaut QListWidget et affichage d'un fichier texte
    Bonjour,

    Voila je recupere une liste d'un site au format txt (24000 lignes) , que j'affiche dans un QListWidget avec le code ci dessous : il commence a s'afficher, mais jammais ne me redonne la main.

    Pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeFichiers->addItem(line);
    semble boucler ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ...
    listeFichiers = new QListWidget;
    ...
    void HttpWindow::Test()
    {
    url = urlLineEdit->text();
    QFileInfo fileInfo(url.path());
    QString fileName = fileInfo.fileName();
    QFile file(fileName); // gestion de fichier
    file.open(QIODevice::ReadOnly); // on ouvre le fichier
    QTextStream files(&file);
    QString line = files.readAll();
    listeFichiers->addItem(line);
    file.close();
    }
    Cordialement

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut
    readAll() fait une lecture de toutes les lignes. Tout ton texte sera contenu dans une seule chaine QString.
    Je ne sais pas si c'est l'origine du problème mais je pense qu'il vaut mieux effectuer une lecture ligne par ligne avec readLine() un peu comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    file.open(QIODevice::ReadOnly); // on ouvre le fichier
    QTextStream files(&file);
    while (! files.atEnd())
    {
    ligne = files.readLine() ;
    listeFichiers->addItem(ligne);
    }
    file.close();

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Par défaut
    Bonjour,

    merci, fonctionne nickel.

    ma solution marche aussi a condition que je l'execute qu'une fois or là sans condition, elle boucle !!!

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage d'un fichier texte
    Par GreatDeveloperOnizuka dans le forum Ada
    Réponses: 7
    Dernier message: 26/04/2009, 12h05
  2. affichage d'un fichier texte en php
    Par dgac2000 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2007, 19h54
  3. JTextPane : Affichage de gros fichiers texte
    Par patanoc dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 26/02/2007, 19h10
  4. Affichage d'un fichier texte dans une fenetre
    Par schwinny dans le forum Access
    Réponses: 3
    Dernier message: 11/08/2006, 08h53
  5. [Ada] Affichage d'un fichier texte
    Par sneb5757 dans le forum Ada
    Réponses: 9
    Dernier message: 12/06/2006, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo