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é) :
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.
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() };
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.
Partager