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

Qt Discussion :

Enregistrer et lire dans une fenêtre


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut Enregistrer et lire dans une fenêtre
    Bonjour,

    je suis entrain d'essayer de faire un système qui va me permettre d'enregistrer les 10 derniers messages qui sont apparu et les stocker dans un fichier .ini ensuite je créer une petite fenêtre et je lis le contenu du fichier .ini pour afficher dans la fenêtre.

    Problème :

    - Je reçois les infos depuis une requête donc je voudrais stocker les 10 derniers automatiquement dans mon fichier .ini je stocke en @ByteArray ?

    - Ensuite quand je créer ma fenêtre j'ai un premier problème c'est que je n'arrive pas à afficher du texte...
    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
     
    void Tool::derniere_alertes()
    {
        QWidget *fenetre = new QWidget;
        fenetre->setWindowTitle("Programme Live : Derniers Messages");
        fenetre->setWindowIcon(QIcon("images/icone.png"));
        fenetre->setMaximumSize(300, 400);
     
        QSettings connexion_write("PROGRAMME_Live.ini", QSettings::IniFormat);
        QString DERNIERS_MESSAGES = connexion_write.value("Alerte/derniers_message", "ErreurMessage").toString();
     
        QLabel *label = new QLabel("Coucou test affichage du texte !!");
     
        fenetre->show();
    }
    ça compile mais ça n'affiche pas de texte...

    Merci !!

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Je suppose que le but c'est que le label se trouve dans le QWidget "fenetre" non ?
    Donc tu dois créer une classe qui derive de QWidget et qui contient un QLabel. Apres tu pourras ecrire dans ce QLabel et le texte s'affichera.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    C'est à dire ?

    Déjà quand je mets pas le QWidget en pointeur il s'ouvre et se ferme directement...

    Et si je ne mets pas le QLabel en pointeur j'ai une erreur de compilation...

    PS : Voilà ce que j'ai fait : (Peux tu me dire si c'est correct stp)

    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
    17
     
    void Tool::derniere_alertes()
    {
        QWidget *fenetre = new QWidget;
        fenetre->setWindowTitle("Programme Live : Derniers Messages");
        fenetre->setWindowIcon(QIcon("images/icone.png"));
        fenetre->setMaximumSize(300, 400);
     
        QSettings connexion_write("Programme_Live.ini", QSettings::IniFormat);
        QString DERNIERS_MESSAGES = connexion_write.value("Alerte/derniers_message", "ErreurMessage").toString();
     
        QLabel *label = new QLabel(fenetre);
        label->setText("Salut mon amis !!");
        label->move(30, 20);
     
        fenetre->show();
    }

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par austin.fla Voir le message
    Déjà quand je mets pas le QWidget en pointeur il s'ouvre et se ferme directement...
    Normal la varaible est locale donc à la fin de la fonction le destructeur est appellé et ta fenetre detruite.

    Citation Envoyé par austin.fla Voir le message
    C'est à dire ?
    Et si je ne mets pas le QLabel en pointeur j'ai une erreur de compilation...
    Je sais pas trop pour l'erreur de compilation mais de toute façon tu dois mal l'utiliser.

    En gros un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class MyWidget : QWidget
    {
     
    private: 
    QLabel* m_Label;
     
    public:
    MyWidget (QWidget *parent, QString text): QWidget(parent)
    {
    m_Label = new QLabel(this);
    m_Label->setText(text);
    }
     
    };
    tu mets ça en varaible membre de ta classe tool:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void Tool::derniere_alertes()
    {
     
     
        QSettings connexion_write("Programme_Live.ini", QSettings::IniFormat);
        QString DERNIERS_MESSAGES = connexion_write.value("Alerte/derniers_message", "ErreurMessage").toString();
     
         fenetre = new MyWidget(this,DERNIERS_MESSAGES );
        fenetre->setWindowTitle("Programme Live : Derniers Messages");
        fenetre->setWindowIcon(QIcon("images/icone.png"));
        fenetre->setMaximumSize(300, 400);
     
        fenetre->show();
    }
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Donc dans mon cas le code est bon.

    Je voudrais aussi savoir comment centré le QLabel sur mon QWidget ?
    J'ai essayé avec setCentralWidget mais ça na pas fonctionné... ça ne compilé pas...

    Merci

  6. #6
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Désolé j'ai eu un problème lors de l'edition du poste precedent.

    Il ya peut etre des erreur de synthaxe dans mon code mais dans l'esprit il faut que tu fasses comme ça:
    1-Tu crées une classe qui derive de QWidget ici -> MyWidget
    2-Tu mets un QLabel qui est une varaible membre de MyWidget
    3-MyWidget est une variable membre de ta classe Tool
    4-Tu instancie MyWidget dans la classe Tool (faire un new)
    5-Tu peux jouer avec ta fenetre....
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

Discussions similaires

  1. Probleme pour lire un fichier .swf dans une fenêtre
    Par solaimana dans le forum NetBeans
    Réponses: 0
    Dernier message: 27/01/2014, 13h06
  2. [WD12E] Sélection des enregistrements dans une fenêtre RAD
    Par nambours dans le forum WinDev
    Réponses: 4
    Dernier message: 26/04/2010, 09h16
  3. Supprimer la croix dans une fenêtre modale
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/01/2004, 14h52
  4. Réponses: 3
    Dernier message: 12/11/2003, 00h34
  5. [JDialog] Modification dans une fenêtre
    Par cefabien dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 01/10/2003, 13h18

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