Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > Qt
Qt Forum d'entraide technique sur la bibliothèque Qt. Avant de poster -> F.A.Q Qt
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/11/2012, 12h54   #1
hirox
Invité de passage
 
Inscription : octobre 2012
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2012
Messages : 3
Points : 0
Points : 0
Par défaut [QMdiArea] Onglets et bordure

Bonjour à tous,
Je viens vous demander de l'aide car je galère depuis quelques heures sur un sale problème.
J'ai créé une QMainWindow, composé d'un QMdiArea géré par des onglets. J'utilise les stylesheets et du code (Qt/C++) pour modifier l'apparence de mon soft, et donc par la même occasion de QMdiArea. Le problème est que je n'arrive pas à enlever cette saleté de bordure au haut (cf. capture) :


Je vous demande donc de l'aide pour savoir comment supprimer celle-ci.

Merci d'avance, bonne soirée (ou journée)
hirox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2012, 14h42   #2
Amnell
Rédacteur
 
Avatar de Amnell
 
Homme Louis du Verdier
Étudiant
Inscription : mars 2009
Messages : 1 600
Détails du profil
Informations personnelles :
Nom : Homme Louis du Verdier
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 1 600
Points : 5 048
Points : 5 048
Bonjour,

Je suppose que vous avez essayé de retirer le paramètre "border" du QTabWidget et de la QMidArea ?

Bonne continuation,
Amnell.
Amnell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2012, 15h38   #3
hirox
Invité de passage
 
Inscription : octobre 2012
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2012
Messages : 3
Points : 0
Points : 0
Tout d'abord, merci à toi, je viens de trouver.
En essayant tout d'abord d'enlever les contours (ce que j'avais déjà tenté, mais sans succés, j'ai tout de même réessayé, c'est on jamais, avec les mystère de l'informatique xD). J'ai donc fais des ->setShape(QFrame::NoFrame), ->setLineWidth(0), etc.... Mais, sans succés (j'ai aussi tenté par les stylesheets pour arriver au même résultat).
J'ai donc ensuite voulu tester quelques choses (pourquoi, je ne sais pas, on va dire que c'était "l'instinct" lol). J'ai tout d'abord récupéré la QTabBar de mon QMdiArea par ce code :
Code :
1
2
3
4
5
6
7
 
QList<QTabBar *> tBarAreaList = m_area->findChildren<QTabBar*>();
QTabBar *tBarArea = tBarAreaList.at(0);
/** Ça, c'est du plus **/
tBarArea->setExpanding(false);
tBarArea->setMovable(true);
/* ##### ##### */
J'ai ensuite tester quelque chose en rajoutant cette ligne :
Code :
1
2
 
tBarArea->setShape(QTabBar::RoundedSouth);
Ce qui ma démontré que le problème ne venait pas exactement de QMdiArea, mais plutôt de ça QTabBar : la ligne c'est déplacé au dessus de mes onglets.
Pour finir, j'ai donc rajouter cette ligne de code à mon QTabBar :
Code :
1
2
 
tBarArea->setDrawBase(false);
Et miracle, c'est satané barre c'est enfuie
Je remet donc le code final au cas ou quelqu'un aurait lui aussi ce problème et je marque ce sujet en tant que résolu :
Citation:
Code :
1
2
3
4
5
6
7
8
 
QList<QTabBar *> tBarAreaList = m_area->findChildren<QTabBar*>();
QTabBar *tBarArea = tBarAreaList.at(0);
tBarArea->setDrawBase(false);
/** Ça, c'est du plus **/
tBarArea->setExpanding(false);
tBarArea->setMovable(true);
/* ##### ##### */
Encore merci pour ton aide
Bonne journée à tous
hirox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h13.


 
 
 
 
Partenaires

Hébergement Web