Partage
  • Partager sur Facebook
  • Partager sur Twitter

qt4 et webkit

    6 mai 2008 à 10:05:05

    salut a tout le mode ,

    je veux faire un petit bout de code en utilisant les fonctionnalités de WebKit avec qt4 pour extraire les liens à partir de l'arbre DOM.
    comme je vient de m'initier avec WebKit, j'arrive pas à commencer.

    Quelquen pourait m'aider à faire ce petit code SVP.

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      6 mai 2008 à 17:03:58

      Eh bien quand tu te poses ce genre de questions, un seul réflexe : la DOC ! :D
      Bon je te donne le lien :
      http://doc.trolltech.com/4.4/qtwebkit.html#details
      • Partager sur Facebook
      • Partager sur Twitter
        7 mai 2008 à 11:21:20

        Salut,
        Merci pour le lien je l'ai vu et je suis entrain de travailler avec l’exemple de webkit depuis longtemps
        http://doc.trolltech.com/4.4/webkit-previewer.html
        (Cet exemple montre l’utilisation de QtWebKit , QWebView et affiche le code html de page web charger) et je l’ai intégrer d’autre fonctionnalité ( Dom) mais j’ai pas arriver a parcourir le code html écrit dans un QPlainTextEdit pour que je puisque appliquer par exemple la fonction de dom QDomNodeList elementsByTagName (‘a’) qui fait tourner le contenu des balises <a>.
        Merci pour tout aide,
        Bon développement,

        • Partager sur Facebook
        • Partager sur Twitter
          7 mai 2008 à 15:12:08

          Je pourrais peut-être t'aider avec un exemple de code :)
          • Partager sur Facebook
          • Partager sur Twitter
            8 mai 2008 à 15:36:29

            Salut,
            Je suis entrain d’essayer de le faire,
            A ce qu’il y a un exemple qui montre les différentes utilisation de QPlainTextEdit dans le
            ( Tutorials and Examples ) de qt4 j’ai cherché mais je n’ai pas trouvé ???
            Merci,,
            • Partager sur Facebook
            • Partager sur Twitter
              11 mai 2008 à 15:59:20

              SALUT,,
              cette portion de code est dont le but de construire l'arbre dom d'une page html
              QDomNode n = docElem.firstChild();
                  while(!n.isNull()) {
                       QDomElement e = n.toElement(); // try to convert the node to an element.
                       if(!e.isNull()) {
              
                        cout << e.tagName() << endl; // the node really is an element.*/
                       }
                       n = n.nextSibling();
                   }
              

              apres make j'ai ce message d'erreur
              mainwindow.cpp:193: erreur: «cout" was not declared in this scope
              make: *** [mainwindow.o] Erreur 1
              vous pouvez m'aider j'ai besoin de l'affichage pour verifier a ce mon programme repond a mes besoins??
              merci;;
              • Partager sur Facebook
              • Partager sur Twitter
                15 mai 2008 à 11:31:08

                salut,
                j'ai arriver a faire une application QT4 et webkit qui fait le chargement d'une page web puis affiche leur code html ,et maintenat je suis entrain de construire l'arbre dom de page html ,j'ai arrivé a construire l'arbre pour la racine de la page (les noeuds de la racine ) voila mon code :
                QDomElement racine = doc.documentElement();            //renvoie la balise racine
                   QDomNode noeud = racine.firstChild();  
                
                 while (!noeud.isNull()) {
                         
                         if (noeud.isElement()) {
                                QDomElement e = noeud.toElement();
                                qDebug() << "Element name : " << e.tagName();
                              
                    
                                affichage = e.tagName(); 
                                
                         
                                  QStringList attributes;
                                  QDomNamedNodeMap emap = e.attributes();            
                                for(i=0;i<emap.length();++i) {
                                                                       qDebug() << " la balise " <<e.tagName()<< "has attributs ::" ;
                                                                       QDomNode attribute = emap.item(i);
                                                                       attributes << attribute.nodeName() + "=\""
                                                                       +attribute.nodeValue() + "\"";                                                
                                                                       qDebug() <<attributes ;
                                                                    
                         				            
                                                              }
                           
                                      listnode = e.childNodes();       //crée un tableau des enfants
                                      
                               for(i=0;i<listnode.length();i++) {
                            					
                         					   n = listnode.item(i);
                            					   affichage = affichage + " " + n.firstChild().toText().data();
                              					   QDomElement eaff = n.toElement(); 
                            					   affichage = affichage + " " + eaff.tagName(); 
                           					   qDebug() << "childs names de la balise  " <<e.tagName()<< "est : "<<eaff.tagName();
                                                                   if (n.hasChildNodes ()) {
                                                                           slistnode = eaff.childNodes(); 
                                                                             int k= eaff.childNodes().count();  qDebug()<<" k=== "<< k;
                                                                  for(int k=0;k<slistnode.length();k++) {
                            					
                         					    sn = slistnode.item(k);
                            					   affichage = affichage + " " + sn.firstChild().toText().data();
                                                                     QDomElement eafff = sn.toElement(); 
                      
                           					
                                                                                              }}
                      			                         }   if (!n.hasChildNodes ()) {qDebug()<<" 00000 ";} 
                                                                   msg.setText(affichage);            //affichage dans un QMessageBox
                      						   msg.exec();
                                                                               
                                       }
                        	 noeud = noeud.nextSibling();
                
                 }
                

                comment je peux modifier mon code pour avoir afficher les noeuds des noeuds de la balise racine ??
                par exemple pour cette page html:
                <html>
                <head>
                <title> premier test </title></head>
                <body><table border=9 height=100% width=100% bgcolor=skyblue>
                <tr>
                 <td>
                   <a href=culture.html target=blank> <b><u><font color=red> culture :</font></u></b><br> journée mondial pour les enfants </a>	
                
                 </td>
                </tr>
                </table>
                </body>
                </html>
                

                il affiche que <title> est l'enfant de <head>
                et <table> est l'enfant de <body>
                comment je peux avoir aussi que <td> est l'enfant de <tr> et <a> l'enfant de <td>..ect ??? c'est a dire l'arbre dom de tous les balises ???,
                merci pour tout aide ;;;
                • Partager sur Facebook
                • Partager sur Twitter

                qt4 et webkit

                × 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