|
Publicité | |||||||||||||||||||||||
|
|
#1 | |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
Bonjour,
pour expliquer ma question, deux bons dessins : Actuellement, j'ai ça : ![]() Je voudrais enlever la barre de titre, là ou y'a écrit Citation:
![]() comment faire ? |
|
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
Code :
setWindowFlags ( Qt::Window | Qt::FramelessWindowHint ); |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
Merci de ta réponse, malheureusement, je me suis un peu mal expliqué, je veux pas vraiment enlever la barre d'outils, je veux la customiser, tout comme on customise la barre de titre d'un dockwidget, en gros, remplacer le degradé bleau foncé vers bleu clair par autre chose par exemple, changer les boutons ....
Pour donner un exemple, il faut télécharger le naviguateur Mac Safari pour PC. Suivant la situation, on peut apercevoir le subterfuge :
|
|
|
00
|
|
|
#4 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
tu peut utiliser setMask pour définir la zone de ta fenêtre et ainsi virer la barre de titre
http://qt.developpez.com/doc/4.4/qwidget/#setmask Aprés tu peut y mettre la tiennes. Voici un exemple. http://qt.developpez.com/doc/4.4/widgets-shapedclock/ Si tu veut faire de l'alpha, il n'y as rien de portable dans Qt. Il existe un projet qui le fait sous windows. Si ca t'intéresse, fait une recherche sur le forum
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP Dernière modification par Deepin ; 06/09/2011 à 12h57. |
|
|
00
|
|
|
#5 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
en faite c'est le flag Qt::FramelessWindowHint qui permet de virer le décore
.
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
Tu ne peux pas personnaliser le gestionnaire de fenêtre autrement qu'en le simulant via tes propres éléments graphiques. En effet, le gestionnaire de fenêtre est géré par le système d'exploitation, et pas par Qt.
Par contre, tu peux faire une fenêtre sans bordure, qui possède une zone permettant de la déplacer, un bouton pour minimiser, un bouton pour maximiser, etc. Pour ce qui est de la gestion du redimensionnement, il va falloir que tu regénères à chaque fois une image de la taille voulue en mémoire afin de l'appliquer en masque sur ta fenêtre ( vu le contexte ) |
|
|
00
|
|
|
#7 | |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
Citation:
J'avais réussi à faire ce que je voulais y'a un moment avec Borland C++ builder mais j'avais tout redessiné et la fenêtre n'était plus une vraie fenêtre mais une fenêtre sans titre et sans boutons. Je pensais qu'avec Qt y'aurais un moyen pour feinter le systeme qui gere les fenetres ! |
|
|
|
00
|
|
|
#8 | |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
Citation:
Pour ce qui est des boutons de fermeture, etc... tu associes le slot close() au signal clicked() par exemple. Pour ce qui est de la partie déplacement, tu détectes le clique sur la zone correspondant à la barre de titre et lors du déplacement, tu déplaces ta fenêtre. Je pense que tous les systèmes utilisent ça. ( Live Messenger, iTunes ) Par contre, tu as intérêt de bien optimiser. Bon courage pour la suite. |
|
|
|
00
|
|
|
#9 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
ma version :
1- tu créé un widget qui contient ta bar de titre avec les evenement associé et une zone avec un layout (pour y mettre ce que tu veut) 2- sur cette widget tu applique le flag Qt::FramelessWindowHint.
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP |
|
|
00
|
|
|
#10 | |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
|
|
|
00
|
|
|
#12 | |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 | |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
Citation:
Tu voudrais que dans ce widget, je dessine un autre widget (avec des boutons) qui serait ma barre de titre, que je relie les signaux de ces boutons aux slots appropriés de la fenetre conteneuse (qui n'a pas de bordures) et que j'ajoute un layout pour le reste ? Mais dans ce cas, comment je mets mes menus, ma barre d'outils et tout le reste ? Faudrait que ça soit tout 'hand-coded' car depuis Qt Designer je ne peux pas ajouter de QStatusBar ni de QMenu ... |
|
|
|
00
|
|
|
#14 |
|
Membre émérite
![]() ![]() Inscription : juillet 2004 Messages : 715 ![]() |
|
|
|
00
|
|
|
#15 | |||
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
je me suis amusé pour voir
![]() Code :
Citation:
SInon y as ceci http://www.qt-apps.org/content/show....?content=67309 mais je sais pas si ca correspond
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP Dernière modification par yan ; 13/08/2008 à 19h14. |
|||
|
|
00
|
|
|
#16 |
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
tant de passion autour de ce topic
![]() j'ai à peu près trouvé ma solution. L'inconvénient de ta solution c'est qu'elle ne me permet pas d'avoir des bordures dessinées par mes soins. Donc au final, mon widget conteneur est un QFrame. Il est instancé sans parent, donc Qt le fou automatiquement dans une fenêtre. Lors de sa constrution, je donne le flag Qt::FramelessWindowHint. Ensuite, je peux customiser la bordure de ce QFrame avec une feuille de style, usant et abusant de border-image et des valeurs de padding négatives. Lorsque mongaulois m'aura filé mon espace 'personnel' (personnel mais un peu étendu merci de vos réponses. |
|
|
00
|
|
|
#17 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
J'avais jamais essayé
![]() Ben si, c'est pareil. Tu peut même utiliser setMask pour faire n'importe qu'elle forme
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP |
|
|
00
|
|
|
#18 | |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 520 ![]() |
Citation:
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux QExtend Moi Android : TVA Calculator & My Tip ----------------------------------------------------------------------------- Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP |
|
|
|
00
|
|
|
#19 |
![]() ![]() Inscription : juin 2005 Messages : 8 554 ![]() |
Excellent
![]() Je ne savais pas qu'on pouvait aller aussi loin. Merci pour ton topic, ça va fournir un excellent article ou une excellente Question/Réponse de FAQ.
__________________
/!\ A French community for Haskell /!\ Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++ Le guide pour bien débuter en C++ |
|
00
|
|
|
#20 | ||||
|
Membre éprouvé
![]() ![]() Inscription : novembre 2007 Messages : 354 ![]() |
J'ai fais plusieurs tests, dans ta classe donnée en exemple en page précédente, je ne trouve pas comment cusomiser la fenetre totale.
Citation:
Puis, je prends ce qui était auparavant mon QMainWindow et je l'instancie sans ses cadres et je le fous dans le VerticalLayout ci dessus et c'est tout bon. J'avais lu la doc sur les masques, mais à un endroit ça dit que ça peut être lent. PS : Si je fais : Citation:
Citation:
Alors que pour un QFrame : Citation:
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com