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 :

a propos de Qtextedit

  1. #21
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    je regarde, merci.

  2. #22
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    1- chaque ligne est limité à 64 chiffre?
    Oui

    2- s'il y en as moins que doit tu faire? afficher un 0 à la place un espace?
    La lecture et l'écriture se fait de gauche à droite, c'est pour obtenir une calculatrice, donc je laisse vide l'espace a droite non rempli.

  3. #23
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Es ce que 10 QLine edit avec un QIntValidator ne serait pas plus adapté?

  4. #24
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    Je peux lier 10 QLineEdit ensemble?
    Parce que après il faut que je récupère le nombre contenue par la zone de saisie.

  5. #25
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par straycat Voir le message
    Je peux lier 10 QLineEdit ensemble?
    Parce que après il faut que je récupère le nombre contenue par la zone de saisie.
    que veut tu dire par lier?

  6. #26
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    En pièce jointe, un image de là où j'en suis.

    Il y a le qtextedit avec les dimensions 64*10.

    Tu pense qu'on pourrai obtenir un résultat équivalent avec 10 Qline?
    Images attachées Images attachées  

  7. #27
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par straycat Voir le message
    En pièce jointe, un image de là où j'en suis.

    Il y a le qtextedit avec les dimensions 64*10.

    Tu pense qu'on pourrai obtenir un résultat équivalent avec 10 Qline?
    oui.
    Mais je capte pas trop ce que tu veut faire.
    Tu veut une ligne d'édition et afficher les anciens résultat?
    ou avec dix lignes d'édition

  8. #28
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    10 lignes d'éditions

  9. #29
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par straycat Voir le message
    10 lignes d'éditions
    ok, voici un exemple compilable de ce que peut donner l'utiliser les lineEdit.
    N'hésite pas si tu as des questions.
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    #include <QtGui>
     
     
    class maClass : public QWidget
    {
    public :
        maClass(QWidget * parent = 0)
        :QWidget(parent)
        {
            QVBoxLayout * l = new QVBoxLayout;
            //aucun espace entre les element
            l->setSpacing(0);
            //pas de marge
            l->setMargin(0);
     
            setLayout(l);
     
            //valide tout les nombre jusqu'a 30 chiffre
            QRegExp validator("^\\d{0,30}$");
     
            for (int i=0;i<10;++i)
            {
                QLineEdit * le = new QLineEdit;
                //enleve les bordures
                le->setFrame(false);
                //filtrage des event pour le up dow et enter
                le->installEventFilter(this);
                //ce qui est entree doit etre valid
                le->setValidator(new QRegExpValidator(validator,le));
                l->addWidget(le);
            }
            setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
        }
     
        bool eventFilter ( QObject * watched, QEvent * event )
        {
            QLineEdit *le = qobject_cast<QLineEdit *>(watched);
            //filtre les evenement dans les lineEdit pour changer de ligne aprés un UP, down ou enter
            if (le && event->type() == QEvent::KeyPress)
            {
                QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
                if(kevent->key() == Qt::Key_Up)
                {
                    int index =layout()->indexOf (le);
                    QLayoutItem  * it = layout()->itemAt(index-1);
                    if (it)
                    {
                        it->widget()->setFocus  (Qt::OtherFocusReason);
                        return true;
                    }
                }
                if
                (
                    kevent->key() == Qt::Key_Down
                    ||
                    kevent->key() == Qt::Key_Enter
                    ||
                    kevent->key() == Qt::Key_Return
                )
                {
                    int index =layout()->indexOf (le);
                    QLayoutItem  * it = layout()->itemAt(index+1);
                    if (it)
                    {
                        it->widget()->setFocus  (Qt::OtherFocusReason);
                        return true;
                    }
                }
            }
            return QWidget::eventFilter (watched,event );
        }
    };
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        maClass w;
     
        w.show();
        return a.exec();
    }

  10. #30
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
    J'ai du mal à comprendre cette ligne.

    Si j'ai bien compris QKeyEvent est censé créer un QKeyEvent à partir d'un QEvent, non?

    ps: Je suis entrain d'esayer vos méthodes.

    merci.

  11. #31
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    La réponse à la question d'au dessus m'intéresse toujours, mais j'ai réussi à résoudre mon problème grâce aux supposition de chacun, en tout cas merci beaucoup à tous!

    Voici la solution ça pourrait en inspirer certains:

    1/Je créer un filtre sur mon QtextEdit:

    ZoneDeSaisie = new QTextEdit(this);
    // ne pas oublier de préciser qu'on ne peut plus écrire dans la zone de texte
    ZoneDeSaisie->setReadOnly(true);
    ZoneDeSaisie->installEventFilter(this);
    2/Je traite les modifications apportées a mon QtextEdit:

    bool MaFenetre::eventFilter(QObject* watched, QEvent* event)
    {
    //Il faut que l'évènement soit une touche presser dans le QTextEdit
    if (ZoneDeSaisie && event->type() == QEvent::KeyPress)
    {
    //création d'un QKeyEvent pour pouvoir identifier la touche.
    QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
    switch (kevent->key())
    {
    case Qt::Key_0:
    // fonction simple insérant un 0 avec la fonction "insert"
    zero();
    break;
    case Qt::Key_1:
    // idem que la fonction au dessus mais pour 1
    un();
    break;
    case Qt::Key_2:
    deux();
    break;
    case Qt::Key_3:
    trois();
    break;
    case Qt::Key_4:
    quatre();
    break;
    case Qt::Key_5:
    cinq();
    break;
    case Qt::Key_6:
    six();
    break;
    case Qt::Key_7:
    sept();
    break;
    case Qt::Key_8:
    huit();
    break;
    case Qt::Key_9:
    neuf();
    break;
    //Pas de retour défaut
    default:
    break;
    }
    }
    return QWidget::eventFilter (watched,event );

    }

    voilà encore merci à tous et n'hésité pas à me corriger si besoin ait !

  12. #32
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Salut, content que ça marche

    Est-ce que tu peux éditer tes posts et remplacer tes blocs de citation par des blocs de code ?
    Par exemple, dans ton gros post, tu mets

    1/Je créer un filtre sur mon QtextEdit:

    ZoneDeSaisie = new QTextEdit(this);
    // ne pas oublier de préciser qu'on ne peut plus écrire dans la zone de texte
    ZoneDeSaisie->setReadOnly(true);
    ZoneDeSaisie->installEventFilter(this);
    C'est nettement plus clair en utilisant les balises de code (à côté de la balise de citation) :

    1/Je créer un filtre sur mon QtextEdit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ZoneDeSaisie = new QTextEdit(this);
    // ne pas oublier de préciser qu'on ne peut plus écrire dans la zone de texte
    ZoneDeSaisie->setReadOnly(true); 
    ZoneDeSaisie->installEventFilter(this);

  13. #33
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    Oui je peux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ZoneDeSaisie = new QTextEdit(this);
    // ne pas oublier de préciser qu'on ne peut plus écrire dans la zone de texte
    ZoneDeSaisie->setReadOnly(true);
    ZoneDeSaisie->installEventFilter(this);
    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
     
    bool MaFenetre::eventFilter(QObject* watched, QEvent* event)
    {
        //Il faut que l'évènement soit une touche presser dans le QTextEdit
     
        if (ZoneDeSaisie && event->type() == QEvent::KeyPress)
     
        {
     
            //création d'un QKeyEvent pour pouvoir identifier la touche.
            QKeyEvent * kevent = static_cast<QKeyEvent*>(event);
            switch (kevent->key())
            {
            case Qt::Key_0:
                // fonction simple insérant un 0 avec la fonction "insert"
                zero();
            break;
            case Qt::Key_1:
                // idem que la fonction au dessus mais pour 1
                un();
            break;
            case Qt::Key_2:
                deux();
            break;
            case Qt::Key_3:
                trois();
            break;
            case Qt::Key_4:
                quatre();
            break;
            case Qt::Key_5:
                cinq();
            break;
            case Qt::Key_6:
                six();
            break;
            case Qt::Key_7:
                sept();
            break;
            case Qt::Key_8:
                huit();
            break;
            case Qt::Key_9:
                neuf();
            break;
            //Pas de retour défaut
            default:
            break;
            }
        }
        return QWidget::eventFilter (watched,event );
     
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. A propos de Last_insert_id
    Par f-demu01 dans le forum Administration
    Réponses: 2
    Dernier message: 26/03/2003, 08h32
  2. A propos depth buffer
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 00h41
  3. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22
  4. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10
  5. A propos du composant DBGrid
    Par _Rico_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/07/2002, 09h18

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