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

Téléchargez Discussion :

Mettez vos classes à disposition pour Qt


Sujet :

Téléchargez

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Mettez vos classes à disposition pour Qt
    Bonjour,

    Je vous propose ici de mettre vos classes créees (dérivées d'une classe de base ou non) à disposition pour une éventuelle intégration dans les futures versions de Qt... Enfin après concertation générale et avec l'accord de tout le monde, du moins la majorité et surtout celle des modérateurs, rédacteurs et WebMaster... Bref : tous les professionnels expérimentés : en fait tout le monde quoi (j'ai oublié personne ?) (on a le droit de rêver quand même non ?...)
    Plus tard, vous direz à vos petits enfants : "Regardes ce que pépé faisait... A l'époque on savait être créatifs au moins... C'est pas comme maintenant...".
    Enfin sachez que ça n'est pas une obligation : c'est vous qui êtes le seul maître à bord pour ce qui est de mettre publiquement vos classes à disposition.

    Alors pour lancer tout ça je commence avec une classe dérivée de Phonon::VideoWidget. Je l'ai appelée VideoWidgetPlus (bonjour l'originalité) :
    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
    class VideoWidgetPlus : public Phonon::VideoWidget
    {
        Q_OBJECT
     
    public:
        VideoWidgetPlus(QWidget *parent=0) : Phonon::VideoWidget(parent)
        {setParent(parent);} // constructeur indiquant éventuellement le parent de l'objet construit
        ~VideoWidgetPlus(){}    
     
    public slots:
        void switchFullScreen()
        {setWindowState(windowState()^Qt::WindowFullScreen);} // slot public abrégé de switch full screen : pour switcher entre les modes plein écran et normal 
     
    signals:
        void doubleclicked(Qt::MouseButton); // signal indiquant que la souris est double-cliquée : ce signal permet de voir quel bouton de la souris a été double-cliqué
        void keyspacepressed(); // signal indiquant que l'utilisateur a appuyé sur la touche ESPACE du clavier
     
    protected:
        void mouseDoubleClickEvent (QMouseEvent *event)
        {emit doubleclicked(event->button);} // réécriture de la fonction virtuelle mouseDoubleClickEvent()
     
        void keyPressEvent (QKeyEvent *event)
        {
            if (event->key()==0x20)
                emit keyspacepressed();
        } // réécriture de la fonction virtuelle keyPressEvent()
    };
    Cette classe a une chose en plus par rapport à la classe de base : elle réagit au double clic de n'importe quel bouton de la souris et aussi lorqu'on appuie sur la touche ESPACE du clavier. J'y ai aussi rajouté un slot public qui passe le widget de l'état plein écran à l'affichage normal et inversement.

    Si quelque chose ne va pas avec ma classe surtout n'hésitez pas à prendre la parole (allez-y mollo quand même mdr je ne fais que débuter dans le Qt c++)
    En vous remerciant et vous souhaitant une bonne journée.
    Dernière modification par yan ; 14/10/2011 à 14h21. Motif: demande de gizmo27

Discussions similaires

  1. Vos éditeurs favoris pour Perl
    Par djibril dans le forum Langage
    Réponses: 83
    Dernier message: 28/07/2009, 21h07
  2. [débutante]utiliser les classes css pour surligner des liens
    Par Mitaka dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 06/01/2006, 09h37
  3. recherche une classe KZtransImg pour delphi 7
    Par plante20100 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/07/2005, 13h56

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