Partage
  • Partager sur Facebook
  • Partager sur Twitter

[QT] Besoin d'aide avec les QLabel

y afficher un texte

Sujet résolu
    10 mai 2008 à 16:16:35

    Bonjour à tous.
    Voilà je suis sur un projet où j'affiche une fenêtre avec des QLabel (avec bordure) vide. Je crée donc dans le constructeur mes QLabel comme ceci :

    contenu = new QLabel(this);
    


    Plus loin j'ai donc un bouton qui appelle une fonction qui est sensé remplir le QLabel avec un texte. Je crée donc un QString à qui j'affecte un texte pour tester mais je ne sais pas comment rentrer ce QString dans mon QLabel créé dans le constructeur.

    quelque chose du style contenu->setText(msg) où msg est un QString.?
    • Partager sur Facebook
    • Partager sur Twitter
      10 mai 2008 à 16:18:14

      Citation


      quelque chose du style contenu->setText(msg) où msg est un QString.?


      Oui o_O
      • Partager sur Facebook
      • Partager sur Twitter
        10 mai 2008 à 16:23:43

        Et si sa marche pas? rien ne s'affiche dans le QLabel... sa compile mais sa s'affiche pas quand j'appuie sur mon bouton..
        • Partager sur Facebook
        • Partager sur Twitter
          10 mai 2008 à 16:29:10

          montre le code en entier
          • Partager sur Facebook
          • Partager sur Twitter
          :)
            10 mai 2008 à 16:33:22

            mainWindow.cpp:
            #include <Qtgui>
            
            #include "mainWindow.hpp"
            
            
            mainWindow::mainWindow()
            {
                port = new QextSerialPort("COM1");
                port->setBaudRate(BAUD2400);   
                port->setFlowControl(FLOW_OFF);
                port->setParity(PAR_NONE);    
                port->setDataBits(DATA_8);   
                port->setStopBits(STOP_1);
                
                
                
                createActions();
                createMenus();
                
                setWindowTitle("RFID");
                setFixedSize(320, 300);
                
            
            
                
                titre = new QLabel("<img src='SecuRfid.jpg'/>", this);
                titre->setGeometry(60,35,200,35);
                titre->setFont(QFont("Tahoma", 30, QFont::Bold));
                
                nomOeuvre = new QLabel("Nom de l'oeuvre:", this);
                nomOeuvre->move(10,75);
                contenuNomOeuvre = new QLineEdit(this);    
                //contenuNomOeuvre->setFrameStyle(QFrame::Panel | QFrame::Sunken);
                contenuNomOeuvre->setGeometry(10,100,300,18);
                
                proprietaire = new QLabel("Propriétaire de l'oeuvre:", this);
                proprietaire->setGeometry(10,115,200,30);
                contenuProprietaire = new QLabel("Pierre-Franck Chauvet", this);
                contenuProprietaire->setFrameStyle(QFrame::Panel | QFrame::Sunken);
                contenuProprietaire->setGeometry(10,140,300,18);
                
                typeOeuvre = new QLabel("Type d'oeuvre:", this);
                typeOeuvre->move(10,155);
                contenuTypeOeuvre = new QLabel("Sculpture", this);
                contenuTypeOeuvre->setFrameStyle(QFrame::Panel | QFrame::Sunken);
                contenuTypeOeuvre->setGeometry(10,180,300,18);
                
                dateOeuvre = new QLabel("Date de parution de l'oeuvre:", this);
                dateOeuvre->setGeometry(10,195,200,30);
                contenuDateOeuvre = new QLabel(this);
                contenuDateOeuvre->setFrameStyle(QFrame::Panel | QFrame::Sunken);
                contenuDateOeuvre->setGeometry(10,220,300,18);
                
            
                
                ouvrirBoutton = new QPushButton("Ouvrir", this);
                ouvrirBoutton->move(100,260);
                connect(ouvrirBoutton, SIGNAL(triggered()), this, SLOT(ouvrir()));
                
                recevoir = new QPushButton("Recevoir", this);
                recevoir->move(210,260);
                connect(recevoir, SIGNAL(triggered()), this, SLOT(recevoirMsg()));  
                
            }
            
            void mainWindow::createActions()
            {
                
                rechercher = new QAction("Rechercher", this);
                rechercher->setStatusTip("Rechercher manuellement dans la Base de donnée");    
                connect(rechercher, SIGNAL(triggered()), this, SLOT(recherche()));
                
                 
                exit = new QAction("Quitter", this);
                exit->setStatusTip("Quitter l'application");
                connect(exit, SIGNAL(triggered()), this, SLOT(quit()));
                
                apropos = new QAction ("A propos", this);
                apropos->setStatusTip("En savoir plus");
                connect(apropos, SIGNAL(triggered()), this, SLOT(about()));
                
                config = new QAction("Configurer", this);
                config->setStatusTip("Configurer la liaison");
                connect(config, SIGNAL(triggered()), this, SLOT(configurer()));
                    
            }
            
            
            void mainWindow::createMenus()
            {
                 fichier = menuBar()->addMenu("Fichier");
                 fichier->addAction(rechercher);
                 fichier->addAction(exit);
                      
                 option = menuBar()->addMenu("Option");
                 option->addAction(config);
                 
                 
                 aide = menuBar()->addMenu("Aide");
                 aide->addAction(apropos);
                 
            }
            
            
            
            
            
            
            
            
            void mainWindow::ouvrir()
            {
                 port->open(QIODevice::ReadWrite);
            }
            
            
            void mainWindow::recevoirMsg()
            {
                  
            	/*char buff[12];
              	int numBytes;
              	
              	msg1 = "Test";
              
            	numBytes = port->bytesAvailable();
            	if(numBytes > 0) 
            	{
            	    if(numBytes > 12) numBytes = 12;
            	
            	    int i = port->read(buff, numBytes);
            		buff[i] = '\0';
            	    msg = buff;	
                }*/
                
              contenuNomOeuvre->setText("tex");
              contenuDateOeuvre->setText("text");
                
               
            }
            


            #ifndef DEF_MAINWINDOW
            #define DEF_MAINWINDOW
            
            #include <QMainWindow>
            #include <qextserialport.h>
            
            class QMenu;
            class QAction;
            class QLabel;
            class QPushButton;
            class QextSerialPort;
            class QLineEdit;
            
            class mainWindow : public QMainWindow
            {
                  Q_OBJECT
                  
             public:
                 mainWindow();
             
             private slots:
                 void ouvrir();
                 void recevoirMsg();
                   
             private:
                 void createMenus();
                 void createActions();
                      
                 QMenu *fichier;
                 QMenu *aide;
                 QMenu *option;
                 QAction *rechercher;
                 QAction *exit;
                 QAction *apropos;
                 QAction *config;
                 QLabel *titre;
                 QLabel *nomOeuvre;
                 QLineEdit *contenuNomOeuvre;
                 QLabel *proprietaire;
                 QLabel *contenuProprietaire;
                 QLabel *typeOeuvre;
                 QLabel *contenuTypeOeuvre;
                 QLabel *dateOeuvre;
                 QLabel *contenuDateOeuvre;     
                 QPushButton *recevoir;
                 QPushButton *ouvrirBoutton;
                 QextSerialPort *port;
                 QString msg;
                 QString msg1;
                 
            };
            
            #endif
            



            Pour le main : je crée fenetre.mainWindow et fenetre.show, basique quoi!

            edit : j'ai viré tout ce qui est aide, quitter etc pour pas surchargé.
            • Partager sur Facebook
            • Partager sur Twitter
              10 mai 2008 à 17:40:12

              change les SIGNAL(triggered()) pour SIGNAL(clicked()) , pour les boutons. Le signal triggered() n'existe pas pour les QPushButton ;)

              Activer temporairement la console peux aider à déceler ce genre d'erreur (signals ou slots introuvable).
              Tu n'as qu'à ajouter dans ton fichier .pro :

              QT += console

              et si un connect() foire, il affichera un message. :D
              • Partager sur Facebook
              • Partager sur Twitter
              Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
                10 mai 2008 à 17:48:46

                clicked.... merci beaucoup. c'était tout simplement sa... une erreur de copié/collé en voulant allez trop vite et comme le compilo donne pas d'erreurs!
                • Partager sur Facebook
                • Partager sur Twitter

                [QT] Besoin d'aide avec les QLabel

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown