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 :

[Visuel] Comment enlever la barre de titre de windows ?


Sujet :

Qt

  1. #1
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut [Visuel] Comment enlever la barre de titre de windows ?
    Bonjour,

    pour expliquer ma question, deux bons dessins :

    Actuellement, j'ai ça :



    Je voudrais enlever la barre de titre, là ou y'a écrit
    [Qt Evaluation] MainWindow - [Preview]
    pour la remplacer par une barre que je dessinerai moi-même, comme cela est fait sur Mac par exemple :



    comment faire ?
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  2. #2
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setWindowFlags ( Qt::Window | Qt::FramelessWindowHint );
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  3. #3
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    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 :

    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    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

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    en faite c'est le flag Qt::FramelessWindowHint qui permet de virer le décore .

  6. #6
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    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 )
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  7. #7
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    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.
    si t'as l'astuce en tête et que tu veux m'en faire part, je suis preneur !
    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 !
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  8. #8
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    si t'as l'astuce en tête et que tu veux m'en faire part, je suis preneur !
    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 !
    Tu surcharges l'évènement paint() de ta fenêtre. Dans celui-ci, tu demandes à ce que le dessin soit basé sur une forme que tu produis toi-même. Tu redessines la fenêtre toi-même donc.
    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.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    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.

  10. #10
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    Citation Envoyé par FloMo Voir le message
    Tu surcharges l'évènement paint() de ta fenêtre. Dans celui-ci, tu demandes à ce que le dessin soit basé sur une forme que tu produis toi-même. Tu redessines la fenêtre toi-même donc.
    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.
    lol, c'est ce que j'avais fini par faire avec borland, mais c'est franchement pas réactif, suffit que windows décide de faire autre chose et hop tes boutons fermeture et tout ça sont moins réactifs, voir carrément en retard suivant les situations. Merci en tout cas de t'être penché sur la question
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  11. #11
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    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.
    Plus simple, plus clair, plus efficace.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  12. #12
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    lol, c'est ce que j'avais fini par faire avec borland, mais c'est franchement pas réactif, suffit que windows décide de faire autre chose et hop tes boutons fermeture et tout ça sont moins réactifs, voir carrément en retard suivant les situations. Merci en tout cas de t'être penché sur la question
    Par rapport à la réactivité, tout dépend des performances de l'outil. Pour avoir réalisé un outil similaire avec Qt, les performances sont très correctes.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  13. #13
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    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.
    J'ai pas tout saisi. Actuellement, j'ai un QMainWindow pour mon application avec plein de bazar dedans (QMenu, QToolBar, QStatusBar, un layout, un QTab et plusieurs QDockWidget)et c'est ce QMainWindow dont je veux changer le titre.
    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 ...
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  14. #14
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    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 ...
    En effet...
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  15. #15
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    je me suis amusé pour voir
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    #include <QtGui>
     
    class myWindows : public QWidget
    {
        Q_OBJECT
    public :
        myWindows()
        :QWidget(0,Qt::FramelessWindowHint) 
        {
            resize(800,600);
            m_gL = new QVBoxLayout;
            m_gL->setMargin(2);
            m_gL->setSpacing(2);
            QWidget * bar_Titre = new QWidget;
            //creation de la bar de titre
            bar_Titre->setFixedHeight(20);
            {
                QHBoxLayout * l = new QHBoxLayout;
                l->setMargin(0);
                l->setSpacing(2);
                l->addWidget(new QLabel ("ma bar de titre"),Qt::AlignLeft);
     
                l->addSpacing(100);
     
                QPushButton * but =new QPushButton("+");
                but->setFixedSize(18,18);
                connect(but,SIGNAL(clicked()),this,SLOT(maximiser()));
                l->addWidget(but,Qt::AlignRight);
     
                but =new QPushButton("x");
                but->setFixedSize(18,18);
                l->addWidget(but,Qt::AlignRight);
                connect(but,SIGNAL(clicked()),this,SLOT(close()));
            bar_Titre->setLayout(l);
            QString style ="QWidget {"
                            " background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0,"
                            " stop: 0 #00FF00, stop: 1 #FFFFFF);"        
                            "}";
            bar_Titre->setStyleSheet(style);
            }
            m_gL->addWidget(bar_Titre);
            setLayout(m_gL);
     
        }
        void addWidget(QWidget *w)
        {
            m_gL->addWidget(w);
        }
     
    protected :
         //gestion de la souris pour bouger la fenetre
         void mousePressEvent(QMouseEvent *event)
         {
             if (event->button() == Qt::LeftButton) {
                 dragPosition = event->globalPos() - frameGeometry().topLeft();
                 event->accept();
             }
         }
     
         void mouseMoveEvent(QMouseEvent *event)
         {
             if (event->buttons() & Qt::LeftButton) {
                 move(event->globalPos() - dragPosition);
                 event->accept();
             }
         }
     
    private slots :
        //slot pour minimiser/maximiser
        void maximiser()
        {
            if (isMaximized ())
                showNormal();
            else
                showMaximized();
        }
    private :
         QVBoxLayout * m_gL;
         QPoint dragPosition;
     
    };
     
    #include "main.moc"
     
    int main(int argc, char *argv[])
    {
     
        QApplication app(argc,argv);
        myWindows w;
     
        QListView * lw = new QListView;
        {
            QStringList list;
            list<<"essai 1"<<"esssai 2"<<"blablabla"<<"aze"<<"azzddz";
            lw->setModel(new QStringListModel(list));
        }
        QMainWindow * mainWindow = new QMainWindow;
        {
            QToolBar * toolBar = new QToolBar;
            toolBar->addAction("aze");
            toolBar->addAction("azer");
            mainWindow->addToolBar(toolBar);
            mainWindow->setCentralWidget(lw);
        }
        w.addWidget(mainWindow);
        w.show();
     
        return app.exec();
    }
    Y as trop d'appel de move (il faut utiliser un timer), y as pas la gestion de resize, mais ca marche nikel

    Citation Envoyé par Kestufou Voir le message
    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 ...
    comment cela???

    SInon y as ceci
    http://www.qt-apps.org/content/show....?content=67309
    mais je sais pas si ca correspond

  16. #16
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    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 ) alors je mettrai mon design.
    merci de vos réponses.
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  17. #17
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    tant de passion autour de ce topic
    J'avais jamais essayé
    Citation Envoyé par Kestufou Voir le message
    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.
    Ben si, c'est pareil. Tu peut même utiliser setMask pour faire n'importe qu'elle forme

  18. #18
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Ben si, c'est pareil. Tu peut même utiliser setMask pour faire n'importe qu'elle forme
    Images attachées Images attachées  

  19. #19
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    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.

  20. #20
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    J'avais jamais essayé

    Ben si, c'est pareil
    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.

    class myWindows : public QWidget
    Pour ce faire, alors, dans Qt Designer, j'ai fait un nouveau QFrame, que je customize avec une style sheet, je peux donc customiser border. DANS ce QFrame, je mets un Vertical Layout et dans ce vertical layout je mets mon QWidget qui est en fait ma barre de titre.

    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 :

    Pour ce faire, alors, dans Qt Designer, j'ai fait un nouveau QFrame, que je customize avec une style sheet, je peux donc customiser border. DANS ce QFrame, je mets un Vertical Layout et dans ce vertical layout je mets mon QWidget qui est en fait ma barre de titre.
    en remplaçant le QFrame par un QWidget, je ne peux pas customizer le border, car comme écrit dans la documentation concernant un QWidget :

    Supports only the background, backgorund-clip and background-origin properties.
    et donc le Box Model n'est pas modifiable car inexistant.

    Alors que pour un QFrame :

    Supports the box model.
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment enlever la barre de titre de l'Userform
    Par enretard dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/07/2008, 15h07
  2. Enlever la barre de titre tout en gardant les bordures
    Par vaspered dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 20/12/2007, 05h48
  3. Réponses: 3
    Dernier message: 20/02/2007, 12h09
  4. [SWING] Comment redessiner la barre de titre d'une JFrame?
    Par rprom1 dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 21/06/2006, 17h18
  5. [JInternalFrame] Enlever la Barre de Titre d'une JInternalFrame
    Par tchoukapi dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 05/09/2005, 12h37

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