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

Discussion :

Un peu de transparence

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut Un peu de transparence
    Une image vaut parfois mieux qu'un long texte

    ici

    Donc pour ceux qui n'ont pas compris j'ai un QWidget qui contient un QLabel
    Le problème c'est que je voudrais que le QWidget soit invisible et le QLabel soit visible
    seulement avec setWindowOpacity toute la fenêtre est transparente ce qui ne me convient pas.

    merci d'avance pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    http://qt.developpez.com/doc/latest/...attribute-enum

    Regarde Qt::WA_TranslucentBackground et l'explication. Je pense qu'on peut aussi avec les feuilles de style.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut
    merci de ta réponse
    j'ai essayé ça résout le problème à moitié
    quand je combine WA_TranslucentBackground avec FramelessWindowHint, je n'ai plus de frame, le problème c'est que la surface qu'englobe le QLabel est noire, et on n'arrive à ne rien lire
    voilà un sample sans FramelessWindowHint (pour les tests j'utilise PyQt, ça va plus vite)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from PyQt4.QtGui import *
    fromPyQt4.QtCore import *
    from sys import argv
     
    if __name__ == "__main__" :
      qa = QApplication (argv)
      qw = QWidget ()
      ql = QLabel ("Bonjour", qw)
      qw.setAttribute (Qt.WA_TranslucentBackground)
      qw.show ()
      qa.exec_ ()
    #ça donne un background noir
    Si poster une capture d'écran peut peut aider dites le, je le ferai

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien Supérieur en Développement Industriel
    Inscrit en
    Février 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Supérieur en Développement Industriel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 65
    Par défaut
    Salut,

    Je n'ai peut être pas compris exactement ton problème mais pourquoi n'utilise tu pas : void QWidget::hide () ?

    exemple :
    Ce n'est pas cela que tu cherche a faire ?

    documentation : http://qt.developpez.com/doc/latest/qwidget/#hide

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Par défaut
    Bonjour,

    et si tu testais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Qwidget::setMask(tonLabel.mask());
    un peu à la manière d'un QSplashScreen

  6. #6
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut
    pour hide ça cache le widget entier (incluant le qlabel)
    et setMask ne fonctionne pas
    je crois avoir lu quelques part que WA_TranslucentBackground ne fonctionne que sous Windows (je suis sous linux actuellement)
    je ferais un test quand j'en aurais un sous la main
    sinon si quelqu'un a une solution cross-plateforme je suis preneur
    merci à tous pour vos réponses

Discussions similaires

  1. Comment rendre transparent le tour d un icone
    Par NeoRonin dans le forum Composants VCL
    Réponses: 7
    Dernier message: 03/03/2003, 01h40
  2. Réponses: 1
    Dernier message: 23/02/2003, 06h22
  3. ouverture d'une form en fondu transparent
    Par nicholz dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/01/2003, 11h06
  4. RTL60 ( la jsuis un peu confused)
    Par magdoz dans le forum Outils
    Réponses: 7
    Dernier message: 23/07/2002, 11h20
  5. DirectX 6, un peu en retard ... :\
    Par multani dans le forum DirectX
    Réponses: 3
    Dernier message: 28/05/2002, 19h19

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