Partage
  • Partager sur Facebook
  • Partager sur Twitter

PyQt texte enrichi

Sujet résolu
    17 novembre 2010 à 3:11:27

    Bonjour

    Voici un code pyqt simple qui affiche un QLabel. Dans ce QLabel je voudrais mettre un tableau et pouvoir gérer la largeur des colonnes de ce tableau. Mon problème c'est que le code HTML ne fonctionne pas ?

    Est ce un problème de HTML ou un problème de Qt ?

    # -*- coding:utf-8 -*-
    
    import sys
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
    
    def main( args ):
    	""" fonction principale à appeler pour lancer l'application """
    
    	# application
    	app = QApplication(args)
    
    	# le widget
    	fenetre = QWidget()
    	fenetre.resize(400,300)
    
            label2 = QLabel( fenetre )
            label2.setFrameStyle(QFrame.Panel | QFrame.Plain)
            label2.setLineWidth(2)
            label2.move(0,100)
            label2.setPixmap( QPixmap("./img/redball.gif") )
    
            texte =" \
            <table> \
                <tr> \
                    <td width=\"30px\"> <img src=\"./img/redball.gif\"/></td>       \
                    <td width=\"100px\"> gvallver</td>       \
                    <td style=\"width:100px;\"> ecp </td>           \
                    <td style=\"width:100px;\"> totototo.txt</td>       \
                </tr>                                               \
            </table>"
            label2.setText( texte )
    
    	# on affiche la fenetre
    	fenetre.show()
    
    	# lancement de l'application
    	sys.exit(app.exec_())
    
    # lancement de la fonction principale
    if __name__ == "__main__":
    	main(sys.argv)
    


    D'un point de vue purement HTML, ça fonctionne, c'est l'affichage avec pyqt qui ne donne pas le même résultat.

    Merci pour votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2010 à 9:50:57

      Je ne sais pas pourquoi mais la solution consiste à ne pas mettre l'unité dans la largeur des cellules !

      # -*- coding:utf-8 -*-
      
      import sys
      from PyQt4.QtGui import *
      from PyQt4.QtCore import *
      
      def main( args ):
      	""" fonction principale à appeler pour lancer l'application """
      
      	# application
      	app = QApplication(args)
      
      	# le widget
      	fenetre = QWidget()
      	fenetre.resize(400,300)
      
              label2 = QLabel( fenetre )
              label2.setFrameStyle(QFrame.Panel | QFrame.Plain)
              label2.setLineWidth(2)
              label2.move(0,100)
              label2.setPixmap( QPixmap("./img/redball.gif") )
      
              texte  ="<table>"
              texte +="<tr>"
              texte +="<td width=\"30\"> <img src=\"./img/redball.gif\"/></td>"
              texte +="<td width=\"100\"> gvallver</td>"
              texte +="<td width=\"100\"> ecp </td>"
              texte +="<td width=\"200\"> totototo.txt</td>"
              texte +="</tr>"
              texte +="</table>"
              label2.setText( texte )
      
      	# on affiche la fenetre
      	fenetre.show()
      
      	# lancement de l'application
      	sys.exit(app.exec_())
      
      # lancement de la fonction principale
      if __name__ == "__main__":
      	main(sys.argv)
      



      • Partager sur Facebook
      • Partager sur Twitter
        18 novembre 2010 à 21:21:35

        “px” n’est requis qu’en CSS, pas lorque l’on spécifie la valeur par l’attribut HTML.
        • Partager sur Facebook
        • Partager sur Twitter
          19 novembre 2010 à 20:02:36

          Bonjour,

          Par contre, en XHTML, c'est requis.

          Cordialement,
          ProgVal
          • Partager sur Facebook
          • Partager sur Twitter
            19 novembre 2010 à 21:35:08

            Ce n’est pas ce qu’indique la DTD XHTML 1.0 :

            <!ELEMENT img EMPTY>
            <!ATTLIST img
              %attrs;
              src         %URI;          #REQUIRED
              alt         %Text;         #REQUIRED
              longdesc    %URI;          #IMPLIED
              height      %Length;       #IMPLIED
              width       %Length;       #IMPLIED
              usemap      %URI;          #IMPLIED
              ismap       (ismap)        #IMPLIED
              >
            

            <!ENTITY % Length "CDATA">
                <!-- nn for pixels or nn% for percentage length -->
            
            • Partager sur Facebook
            • Partager sur Twitter

            PyQt texte enrichi

            × 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