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 :

Problème avec keyPressEvent


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 39
    Points : 32
    Points
    32
    Par défaut Problème avec keyPressEvent
    Bonjour,
    je souhaiterai modifier le widget lineEdit pour que sur l'événement clavier entrée je récupère un signal avec le nom du line edit et son contenu.
    Avez vous des idées?
    MErci.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 39
    Points : 32
    Points
    32
    Par défaut
    J'ai dans l'idée de modifier le signal returnPressed et de réaliser :
    returnPressed(objetName) où objetName correspondra au nom de mon lineEdit,
    par contre j'ai du mal à reconstruire le signal...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Si tu modifies la signature d'un objet, ce n'est pas une surcharge

    Pour ton problème, la solution suivante pourrai être acceptable :

    MyClass.h
    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
     
    class MyClass : public QLineEdit
    {
      MyClass(QString name, QWidget* parent);
      ~MyClass();
     
      signals:
        void ReturnPressed(const QString&);
     
      private slots:
        void onReturnPressed();
     
      private:
        QString objectName;
    };
    MyClass.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    MyClasse::MyClasse(QString name, QWidget* parent)
    :QLineEdit(parent),
     objectName(name)
    {
    ...
    connect(this, SIGNAL(returnPressed()), this, SLOT(onReturnPressed()));
    ...
    }
     
    MyClasse::onReturnPressed()
    {
      emit ReturnPressed(objectName);
    }
    Je n'ai pas essayé ce dode, mais ca devrait te donner une idée de la manière de faire.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 39
    Points : 32
    Points
    32
    Par défaut
    Effectivement, j'ai trouvé une solution similaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     connect(lEdit_1,SIGNAL(returnPressed()),lEdit1,SLOT(dataEntered()));
        connect(lEdit1,SIGNAL(sendData(QString)),this,SLOT(MiseAjourChamp(QString)));

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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