Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    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)

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro Louis du Verdier
    Étudiant
    Inscrit en
    mars 2009
    Messages
    1 642
    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 642
    Points : 5 117
    Points
    5 117

    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.

  3. #3
    Invité de passage
    Inscrit en
    octobre 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : octobre 2012
    Messages : 3
    Points : 0
    Points
    0

    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 :
    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 :
    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

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •