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

PyQt Python Discussion :

Texte enrichi dans un QLabel [QtGui]


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Par défaut Texte enrichi dans un QLabel
    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 ?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # -*- 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)
    je fais ça, car dans mon application, je vais avoir une liste de QLabel verticale et je voudrais que sur chaque ligne les informations soient alignées.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Par défaut
    J'ai trouvé (on m'a donné pour être exact) la solution. Il ne faut pas mettre l'unité :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    # -*- 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)

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

Discussions similaires

  1. [AC-2010] Champ texte enrichi dans un état
    Par lololebricoleur dans le forum IHM
    Réponses: 7
    Dernier message: 04/06/2022, 14h39
  2. Réponses: 15
    Dernier message: 25/06/2020, 20h21
  3. [XL-2007] Texte enrichi dans une textbox
    Par DurDur dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/04/2015, 15h02
  4. [AC-2010] Copier une zone texte enrichi dans un fichier txt
    Par JeanYves70 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/11/2013, 15h19
  5. [AC-2010] Mise en forme champ texte enrichi dans formulaire
    Par Antoine B dans le forum IHM
    Réponses: 0
    Dernier message: 16/05/2013, 12h48

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