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

Qt Discussion :

Faire une connexion avec le focus de la fenêtre Qt


Sujet :

Qt

  1. #1
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut Faire une connexion avec le focus de la fenêtre Qt
    bonjour,
    je cherche a faire une connexion entre la perte du focus de la fenêtre et la transparence de la fenêtre.
    en gros j'ai une fenêtre qui reste toujours au premier plan et qui quand on la quitte elle passe en 75 ou 50% de transparence
    mais je n'arrive pas a faire une connexion avec la perte de focus de la fenêtre.
    savez vous faire ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    QGuiApplication::applicationStateChanged ?
    Nécessite Qt 5.2 au moins.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(this, &QGuiApplication::applicationStateChanged, this,  &Widget::changetransparency);
    ceci ne fonctionne pas...
    que faut t'il faire ?

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Regarde d'abord sur la manière de faire la connection entre les signaux et les slot, je ne trouve pas normal que tu ais deux fois this dans ta connection.

    Le signal vient de l'application et le slot d'un widget, tu devrais avoir deux pointeurs différent au moins pour faire la connection
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  5. #5
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut
    this désigne ici la fenêtre car on est dans widget.cpp et le slot se trouve dans widget.cpp
    donc deux fois this...
    est ce que c'est une erreurs

  6. #6
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut
    apre avoir fait des verification l'ui est stocket dans this :
    Nom : Capture d’écran 2021-06-16 175003.png
Affichages : 120
Taille : 25,3 Ko
    donc normalement this devrais fonctionner

  7. #7
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Le signal et slot doit avoir la même signature
    Homer J. Simpson


  8. #8
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut
    bonjour avec la connection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(this, &QGuiApplication::applicationStateChanged, this,  &Widget::changetransparency);
    renvoie les erreur Nom : Capture d’écran 2021-06-16 214017.png
Affichages : 113
Taille : 37,3 Ko
    le slot changetransparency
    prend en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void Widget::changetransparency(Qt::ApplicationState state){

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Citation Envoyé par eneediorio Voir le message
    this désigne ici la fenêtre car on est dans widget.cpp et le slot se trouve dans widget.cpp
    donc deux fois this...
    est ce que c'est une erreurs
    Oui c'est une erreur, le signal doit appartenir à la classe de l'émetteur (idem pour le slot et le receveur).
    Or ici QGuiApplication n'est pas ta classe, ni une classe dont elle hérite. En lieu et place de this, tu as besoin d'un pointeur vers QGuiApplication : accessible avec la globale qApp :
    Code Qt : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(qApp, &QGuiApplication::applicationStateChanged, this,  &Widget::changetransparency);

  10. #10
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Alors je ne trouve pas le fonction Widget::changetransparency dans la doc.edit : Ah c'est Widget et pas QWidget... Faire attention avec ces noms trompeur
    Homer J. Simpson


  11. #11
    Membre à l'essai
    Homme Profil pro
    programmation
    Inscrit en
    Janvier 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : programmation

    Informations forums :
    Inscription : Janvier 2020
    Messages : 69
    Points : 16
    Points
    16
    Par défaut
    oui super ca fonctionne !
    je prend note du
    Alors je ne trouve pas le fonction Widget::changetransparency dans la doc.edit : Ah c'est Widget et pas QWidget... Faire attention avec ces noms trompeur
    merci a tous

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/06/2014, 16h05
  2. Réponses: 5
    Dernier message: 26/03/2011, 18h29
  3. Comment faire une connexion du vb.net avec Access
    Par s_soufiane dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/07/2010, 14h40
  4. comment faire une connexion hibernate avec iReport
    Par Dikoudogo dans le forum iReport
    Réponses: 8
    Dernier message: 20/04/2008, 21h22
  5. Comment faire une connexion dynamique à une base avec ADO?
    Par Borisam dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/03/2006, 14h22

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