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 :

[S60 5800]Modifier le menu contextuel

  1. #1
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut [S60 5800]Modifier le menu contextuel
    Voilà j'arrive à modifier le menu contextuel (en bas ou à droite, suivant le sens ou l'on tiens le téléphone..)

    dans ma QmainWindows :

    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
    QtNotes::QtNotes(QWidget *parent)
        : QMainWindow(parent)
    {
    	ui.setupUi(this);
     
    // Ajout menu Add ...
    	ui.centralwidget->setContextMenuPolicy(Qt::NoContextMenu);
    	mnADD = new QAction(tr("Ajout"), this);
    	mnADD->setSoftKeyRole(QAction::OkSoftKey);
    	connect(mnADD, SIGNAL(triggered()), this, SLOT(vSaisie()));
            QList<QAction*> softkeys;
    	softkeys.append(mnADD);
    	ui.centralwidget->setSoftKeys(softkeys);
    	ui.centralwidget->setFocus();
    }
    avec dans le .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private:
    	// Gestion du menu contextuel
    	QAction* mnADD;
    	QWidget *central;
    mais voilà dans ma qDialog appelé par ce bouton Ajout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void QtNotes::vSaisie()
        SaisieNote w;
        w.exec();
    	}
    je ne sais pas comment accéder à ce centralwidget ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SaisieNote::SaisieNote(QWidget *parent)
        : QDialog(parent)
    {
    	ui.setupUi(this);
    	parent.centralwidget->setContextMenuPolicy(Qt::NoContextMenu);
    	QAction * mnValid = new QAction(tr("Valide"), this);
    	mnValid->setSoftKeyRole(QAction::ValidSoftKey);
    	connect(mnValid, SIGNAL(triggered()), this, SLOT(ValideSaisie()));
        QList<QAction*> softkeys;
    	softkeys.append(mnValid);
    	ui.centralwidget->setSoftKeys(softkeys);
    	ui.centralwidget->setFocus();
    }
    et évidement ce code n'est pas valide QDialog ne connaisant pas "CentralWidget..."


    c'est quoi la procédure ..?

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    A ma connaissance seul une QMainwindow possède un central Widget. par consequent tu ne pourra jamais accéder au central widget d'une QDialog par ce que elle n'en possède pas. Apres la fonction centralwidget retourne un QWidget donc normalement a partir d'une QDialog tu peux aussi accéder a des fonctions comme setSoftKeys() puisque QDialog derive de QWidget.

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    superjaja


    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
     
    SaisieNote::SaisieNote(QWidget *parent)
        : QDialog(parent)
    {
    	ui.setupUi(this);
    	QObject::connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(ValideSaisie()));
    	QAction * mnValid = new QAction(tr("Valide"), this);
    	mnValid->setSoftKeyRole(QAction::OkSoftKey);
    	connect(mnValid, SIGNAL(triggered()), this, SLOT(ValideSaisie()));
           QList<QAction*> softkeys;
    	softkeys.append(mnValid);
    	this->setSoftKeys(softkeys);
    	this->setFocus();
     
    }
    c'est résolu

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Citation Envoyé par bbil Voir le message
    superjaja


    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
     
    SaisieNote::SaisieNote(QWidget *parent)
        : QDialog(parent)
    {
    	ui.setupUi(this);
    	QObject::connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(ValideSaisie()));
    	QAction * mnValid = new QAction(tr("Valide"), this);
    	mnValid->setSoftKeyRole(QAction::OkSoftKey);
    	connect(mnValid, SIGNAL(triggered()), this, SLOT(ValideSaisie()));
           QList<QAction*> softkeys;
    	softkeys.append(mnValid);
    	this->setSoftKeys(softkeys);
    	this->setFocus();
     
    }
    c'est résolu
    De rien.

    Sinon j'ai regardé dans la doc Qt 4.5 j'ai pas trouvé la fonction setSoftKeys(). Elle sert a quoi ? Elle est spécifique a une version mobile de Qt ?

    Merci par avance.

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    C'est pour définit les touches en bas :



  6. #6
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Ok merci bbil pour l'info. Comme tu vois je ne suis pas un pro du dev Qt sur mobile... . On ne sait jamais si un jour tu as l'envie de nous faire un petit tuto pour presenter le dev Qt sur mobile previent moi.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par superjaja Voir le message
    Sinon j'ai regardé dans la doc Qt 4.5 j'ai pas trouvé la fonction setSoftKeys(). Elle sert a quoi ? Elle est spécifique a une version mobile de Qt ?
    Normalement oui.
    Pour la doc pour le s60, il faut plutôt regarder celle ci:
    http://pepper.troll.no/s60prereleases/doc/

  8. #8
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Citation Envoyé par yan Voir le message
    Normalement oui.
    Pour la doc pour le s60, il faut plutôt regarder celle ci:
    http://pepper.troll.no/s60prereleases/doc/
    Merci Parrain et félicitation pour ton deuxieme enfants.

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par superjaja Voir le message
    Merci Parrain et félicitation pour ton deuxieme enfants.

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

Discussions similaires

  1. Modifier le menu contextuel dans les dossiers
    Par Ano dans le forum Windows
    Réponses: 0
    Dernier message: 06/04/2011, 13h12
  2. Modifier le menu contextuel au sein d'une application
    Par Creenshaw dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2009, 15h09
  3. Modifier le menu contextuel d'un edit
    Par PetitPapaNoël dans le forum MFC
    Réponses: 2
    Dernier message: 21/05/2008, 09h08
  4. VSTO - Excel : modifier le menu contextuel
    Par Chandy dans le forum C#
    Réponses: 2
    Dernier message: 15/05/2007, 12h24

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