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 :

[PyQt5] QStyleSheet : propriété "border" ne fonctionne pas


Sujet :

PyQt Python

  1. #1
    Membre du Club Avatar de ptissendier
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 64
    Points : 53
    Points
    53
    Par défaut [PyQt5] QStyleSheet : propriété "border" ne fonctionne pas
    Bonjour,
    Je m' "amuse" avec QStyleSheet que je trouve très pratique elle permet de faire beaucoup de choses sans passer par Qstyle
    Je base sur https://doc.qt.io/qt-5/stylesheet-syntax.html
    et sur https://doc.qt.io/qt-5/stylesheet-re...-of-properties

    J'ai un problème avec la propriété border.
    Le "Bouton D" semble bien afficher l'épaisseur et le style du border, mais pas la couleur !?
    Dans le tooltip du bouton C le border radius ne s'effectue pas
    Voici le petit code avec les 2 syntaxes pour le QStyleSheet.
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    #=======================================
    # Codage de QStyleSheet
     
    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
     
    class Principal(QMainWindow):
     
        def __init__(self):
            super().__init__()
            myW=QWidget()
            self.setCentralWidget(myW)
            self.setGeometry(900,400,400,200) #(x,y,L,h)
            self.setWindowTitle('QStyleSheet Exemples')
            self.setStyleSheet('''QWidget{background-color: AntiqueWhite;}''')
     
            btnA=QPushButton("Bouton A")
            btnA.setStyleSheet('''background-color:grey''')
     
            btnB=QPushButton("Bouton B")
            btnB.setStyleSheet("color: white;background-color:blue")
     
            btnC=QPushButton("Bouton C avec un tooltip ")
            btnC.setToolTip(''' Ceci est un ToolTip \n d'explication''')
            btnC.setStyleSheet('''QPushButton{
                                    background-color:LightGreen;
                                    color:Coral;font-weight:bold;
                                    }
                                QToolTip{
                                    background-color:LightBlue;
                                    color:black;
                                    opacity:200;
                                    border-radius:10px;
                                    }''')
     
            btnD=QPushButton("Bouton D")
            btnD.setStyleSheet("background-color:grey;\
                                border: 2px red solid;\
                                border-radius:10px")
     
            leA=QLineEdit()
            leA.setPlaceholderText("Recherche....")
     
            gBox=QGridLayout()
            #gBox.addWidget(self.tablevue,0,0)
            gBox.addWidget(btnA,0,0)
            gBox.addWidget(btnB,0,1)
            gBox.addWidget(btnC,1,0)
            gBox.addWidget(btnD,1,1)
            gBox.addWidget(leA,4,0)
     
            myW.setLayout(gBox)
            leA.setFocus()        
     
     
    if __name__ == '__main__':
     
        app =QApplication(sys.argv)
        test = Principal()
        test.show()
        sys.exit(app.exec_())
    Merci à vous pour votre lecture critique et votre aide.
    Ubuntu 22.04.1 LTS
    LibreOffice 7.4.3

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Pour le bouton D, la syntaxe n'est pas correcte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            btnD.setStyleSheet("""QPushButton{
                                background-color:grey;
                                border: 2px solid red;
                                border-radius:10px;}""")
    Pour le toolTip tu n'as pas défini de bordure donc il n'y a rien à voir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                                QToolTip{
                                    background-color:LightBlue;
                                    color:black;
                                    opacity:200;
                                    border: 2px solid red;
                                    border-radius:10px;
                                    }''')
    Malheureusement, les coins du background se voient toujours.

    Si ceci peut t'inspirer:
    https://bazaar.launchpad.net/~vincen...stylesheets.py

  3. #3
    Membre du Club Avatar de ptissendier
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    Waouh !
    Merci Vinss, pour ton œil acéré
    et ce lien c'est une mine d'or !!!

    Ubuntu 22.04.1 LTS
    LibreOffice 7.4.3

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2012, 09h12
  2. Réponses: 3
    Dernier message: 27/11/2010, 14h09
  3. Propriété line-height qui ne fonctionne pas sous FF 3.5?
    Par MicaelFelix dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 03/03/2010, 21h06
  4. Réponses: 2
    Dernier message: 25/02/2009, 10h05
  5. La propriété Transparent de TImage ne fonctionne pas
    Par randriano dans le forum C++Builder
    Réponses: 8
    Dernier message: 07/02/2007, 14h16

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