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

Qt Discussion :

[QMdiArea] Onglets et bordure


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 2
    Points
    2
    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)

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

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

    Bonne continuation,
    Amnell.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 31/05/2015, 11h06
  2. Réponses: 5
    Dernier message: 28/08/2011, 12h45
  3. Comment empécher la bordure lors d'une ouverture en onglet
    Par thib3113 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 02/08/2011, 08h58
  4. Changer dynamiquement la position des onglets
    Par ginnovy dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/09/2002, 18h24
  5. [Kylix] Fiches sans bordure
    Par alex dans le forum EDI
    Réponses: 4
    Dernier message: 28/04/2002, 21h19

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