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 :

Intitulé QDialogButtonBox Save

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut Intitulé QDialogButtonBox Save
    Bonjour,

    Dans mon application, j'ai deux boutons "Close" & "Save", traduits de l'anglais au français.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    buttonBox = new QDialogButtonBox(QDialogButtonBox::Close|QDialogButtonBox::Save, Qt::Horizontal, MainContainer);
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(okButtonClicked()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(closeButtonClicked()));
    Je souhaiterais modifier l'intitulé de mon bouton "Save" en "Transférer".
    Mais je ne sais pas comment m'y prendre.
    Pourriez-vous m'indiquer la meilleure option ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Avec la méthode addButton, tu devrais pouvoir faire un truc de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, Qt::Horizontal, MainContainer);
    buttonBox.addButton("Transférer", QDialogButtonBox::Save);
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(okButtonClicked()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(closeButtonClicked()));
    (code non testé)

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut
    En remplaçant Save par AcceptRole (car Save n'est pas un rôle défini dans Qt) j'ai bien mon bouton "Transférer" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, Qt::Horizontal, MainContainer);
    buttonBox->addButton (QString::fromUtf8("Transférer"), QDialogButtonBox::AcceptRole); //bouton avec le rôle OK
    Par contre, quand je valide mon transfert, j'affiche une barre de progression à la place de ma fenêtre principale.
    En renseignant le code suivant, je ne devrais avoir que le bouton "Fermer" mais j'ai aussi mon bouton "Transférer" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buttonBox->setStandardButtons(QDialogButtonBox::Close);
    J'ai essayé de le masquer sans succès avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
    J'ai eu le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : invalid use of incomplete type 'struct QPushButton'
    Si j'arrive à masquer mon bouton "Transférer" pendant l'affichage de la barre de progression mon problème est résolu.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Peut-être en faisant appel à removeButton(). Ce qui est sûr, c'est que setEnabled() ne fera pas disparaître ton bouton, il le désactivera juste (càd qu'il sera toujours visible, mais pas cliquable). Regarde plutôt setVisible() pour faire disparaître un widget.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut
    Pour pouvoir appliquer la fonction setVisible() sans erreur, j'ai généré un nouveau bouton.

    Dans mon mainwindow.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QPushButton *buttonTransferer;
    Dans mon mainwindow.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    buttonTransferer = new QPushButton(QString::fromUtf8("Transférer"));
    buttonBox->addButton (buttonTransferer, QDialogButtonBox::AcceptRole);
    connect(buttonTransferer, SIGNAL(clicked()), this, SLOT(okButtonClicked()));
    Par contre je n'arrive pas à masquer mon bouton dans la barre de progression.
    Les fonctions suivantes ne fonctionnent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    buttonTransferer->hide();
    buttonTransferer->setVisible(false);
    Alors que "buttonTransferer->setEnabled(false);" fonctionne mais ce n'est pas ce que je cherche. Comment faire ?

  6. #6
    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
    Citation Envoyé par jemtlse Voir le message
    J'ai eu le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : invalid use of incomplete type 'struct QPushButton'
    Ça veut juste dire qu'il manque l'inclusion : #include <QPushButton>

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut
    Ça veut juste dire qu'il manque l'inclusion : #include <QPushButton>
    J'ai trouvé mon erreur concernant l'inclusion.

    Maintenant il ne me reste plus qu'à masquer mon bouton dans la barre de progression. Une idée ?

  8. #8
    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
    Je ne vois pas pourquoi removeButton ou hide ne marcheraient pas...

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

Discussions similaires

  1. Unable to save result set
    Par souf dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/07/2004, 15h41
  2. [Win32]Open/Save Dialog Box
    Par Chance666 dans le forum Windows
    Réponses: 2
    Dernier message: 07/01/2004, 16h47
  3. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 22h53
  4. [VB6] [Graphisme] Dimensions d'une image au saving
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2002, 19h09
  5. Algo carry save adder
    Par bashou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 18/10/2002, 11h32

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