Svp comment je peux faire disparaitre le topbarre d'une MainWindow??
Svp comment je peux faire disparaitre le topbarre d'une MainWindow??
plusieurs solutions :
setWindowFlags(Qt::Window | Qt::FramelessWindowHint)
soit à la bourrin showFullScreen();
à mettre dans le constructeur de ta mainwindow
merci c'est resoulu..
mais le problème maintenent comment je peut deplacé le MainWindow avec la sourie??
![]()
ben tu devra le faire à la main.
tu peut regarder l'exemple de la clock.
Si j'avais fait un truc comme cela
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 class BaseWidget : public QWidget { //position dans le repere widget de click gauche QPoint p; public: BaseWidget() :QWidget ( 0, Qt::FramelessWindowHint | Qt::SubWindow //enleve la decoration windows et l'entrée dans la bar de tâche ) { } protected: void mousePressEvent ( QMouseEvent * mouseEvent ) { //sauvegarde du point dans le repère widget lors du click gauche if(mouseEvent->buttons() == Qt::LeftButton) p = mouseEvent->pos(); } void mouseMoveEvent ( QMouseEvent * mouseEvent ) { //repositionne la fênetre en fonction de la postion de la souris if(mouseEvent->buttons() == Qt::LeftButton) move( mouseEvent->globalPos() - p); };
merci ...![]()
Il n'y a pas un truc du genre HitTestEvent comme sous Windows?
Sous Windows, ça permettait de spécifier "cette zone-là est comme la barre de titre, donc ça permet de déplacer".
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Mais le problème n'est pas de faire le test soi-même, mais de faire en sorte que l'OS tienne compte du résultat plutôt que d'envoyer le mouseMoveEvent au code utilisateur...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Le problème c'est que cla va dépendre de l'os, non?
sinon
http://labs.trolltech.com/blogs/2009...w-by-dragging/
Si les autres OS (et Qt) n'ont pas d'équivalent à WM_NCHITTEST, alors oui, ça dépendra de l'OS.
le principe sous Windows, c'est qu'avant même d'envoyer un événement "mouse move", l'OS envoie un événement "Non-client Hit Test" pour savoir ce qu'il a touché exactement. Selon la réponse, il envoie ou non un message "mouse move", et pareil pour les clics.
Et quelque part dans l'OS, il y a une équivalence HTCAPTION --> déplacement, HTRIGHT --> Redimensionnement bordure droite, etc.
Donc, si on intercepte le message Hit Test et qu'on retourne HTCAPTION pour un certaine zone, cette zone servira à déplacer la fenêtre.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager