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 :

Thème et programme


Sujet :

Qt

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut Thème et programme
    Bonjour à tous.
    Je voudrais utiliser un thème, et plus particulièrement le thème MAC OS X, mais sur un programme seulement.
    Quelqu'un serait-t-il comment faire ?
    Merci d'avance

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Joe,

    La doc de Qt explique comment les utiliser.

    Tu n'as qu'à appliquer.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    Certes, mais le style mac nécessite l'Apple Appearence Manager.
    Or, étant sous Windows, je ne l'ai pas.
    Une idée ?

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Salut, comme dit dans la doc :
    This style is only available on Mac OS X because it relies on the Apple Appearance Manager
    Donc tu peux te le refaire toi-même avec des QStyle, ou des feuilles de style.

    Moi j'arrive à obtenir ça avec des feuilles de style :



    Mais bon, la feuille de style est tellement grosse que ça galère à charger, et c'est lent.

  5. #5
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    Par défaut
    Il ne vous reste plus qu'à concevoir un thème MacOS X.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    Merci beaucoup.
    Mais je n'ai jamais eu l'occasion d'utiliser (jusqu'à maintenant) une telle technique. Un tutoriel, un détail de fonction, ou autre ?
    Ce serait vraiment bien.
    Merci d'avance.

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Un tutoriel, un détail de fonction, ou autre ?
    ou tout simplement la doc ?

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Euh, en fait pour être clair, il est d'impossible de faire appel au thème MAC sous windows. Le seul moyen, et c'est celui dont MacPro te parle, est de définir toi même la forme/couleur de tes fenêtres, ainsi que tous les paramèters d'affichage de celles ci. Cette redéfinition se fait grâce aux stylesheets sous Qt.

    Mais autant te dire que ce sera long ! Si c'est juste dans un souci d'esthétique, il existe d'autres thèmes sympa déjà inclus dans Qt, comme le QCleanlooksStyle ou encore le QPlastiqueStyle.

    Bonne chance,

    G

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    J'aurais besoin d'une petite précision sur la doc :

    Customizing Using Dynamic Properties

    There are many situations where we need to present a form that has mandatory fields. To indicate to the user that the field is mandatory, one effective (albeit esthetically dubious) solution is to use yellow as the background color for those fields. It turns out this is very easy to implement using Qt Style Sheets. First, we would use the following application-wide style sheet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     *[mandatoryField="true"] { background-color: yellow }
    This means that every widget whose mandatoryField Qt property is set to true would have a yellow background.

    Then, for each mandatory field widget, we would simply create a mandatoryField property on the fly and set it to true. For example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    QLineEdit *nameEdit = new QLineEdit(this);
     nameEdit->setProperty("mandatoryField", true);
     
     QLineEdit *emailEdit = new QLineEdit(this);
     emailEdit->setProperty("mandatoryField", true);
     
     QSpinBox *ageSpinBox = new QSpinBox(this);
     ageSpinBox->setProperty("mandatoryField", true);
    Je ne comprend pas bien le pourquoi du comment...
    Merci d'avance...

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    D'après ce que je comprends, on t'indique que dans certains cas, tu peux avoir besoin de faire comprendre qu'il est obligatoire de remplir certains widgets (ex. un champ NOM :). Pour cela, il se peut que tu veuilles faire colorier le fond d'un champ obligatoire d'un couleur spéciale (ici le jaune).

    Tu as plusieurs solutions :

    Admettons que tu aies 4 QLineEdit dont deux sont obligatoires, on les appelera A,B,C,D. Il faut colorier C et D en jaune.

    Avec les feuilles de styles, tu peux lister les propriétés à des des objets particuliers, par exemple, tu pourrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QLineEdit#C,
    QLineEdit#D
    {
         background-color: yellow;
    }
    Dans le code ci dessus, le # sert de sélecteur. Pour peu d'éléments ça va, mais lorsque tu en as beaucoup ça devient trop long à charger, et de plus point de vue maintenant c'est pas tip top.

    La solution proposée ici c'est d'ajouter une propriété appelée mandatoryField.
    Pourquoi ajouter cette propriété ? Hé bien parce que elle n'existe pas !
    Elle fonctionnera alors comme une autre propriété du genre "pressed" (pour un bouton).
    le 'parseur' ou CSS renderer (je sais pas comment on appelle ça) va venir alors inspecter chaque objet (ce à quoi sert l'étoile dans la ligne suivante) dont la propriété est à true, et va alors appliquer le style précisé (le fond jaune).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *[mandatoryField="true"] { background-color: yellow }
    Pour les sélecteurs CSS je ne suis pas sûr, je vais regarder.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Ca a l'air pourtant clair :

    1)tu définis une propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *[mandatoryField="true"] { background-color: yellow }
    2)
    every widget whose mandatoryField Qt property is set to true would have a yellow background
    Tu crées donc une widget, et tu mets la propriété à true :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QLineEdit *nameEdit = new QLineEdit(this);
     nameEdit->setProperty("mandatoryField", true);
    On ne peut guère faire plus clair que ça ne l'est déjà .

    G.

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    J'étais en train de me dire : les style-sheets sont-t-elle dans les programmes ou dans un fichier annexe ?
    Deplus, j'ai un problème avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    qApp->setStyleSheet("QPushButton#button1 { background-color: red;"
                        "border-style: outset;"
                        "border-width: 2px;"
                        "border-radius: 10px;"
                        "border-color: beige;"
                        "font: bold 14px;"
                        "min-width: 10em;"
                        "padding: 6px; }");
    Lorsque j'exécute mon programme, le bouton "button1" ne s'affiche que "normalement" (avec le thème XP);
    Une idée ?
    Merci de m'éclairer.

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Crabe05 Voir le message
    Lorsque j'exécute mon programme, le bouton "button1" ne s'affiche que "normalement" (avec le thème XP);
    Une idée ?
    as tu bien mis le nom à ton boutton par setObjectName
    http://qt.developpez.com/doc/4.4/qob...bjectname-prop

  14. #14
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    Merci infiniment (ça m'apprendra à sauter des lignes !)

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

Discussions similaires

  1. thèmes de stage en Analyse Programmation
    Par happyboon dans le forum Stages
    Réponses: 1
    Dernier message: 18/10/2013, 12h58
  2. changer le thème du site avec la programmation
    Par Wnejla dans le forum SharePoint
    Réponses: 3
    Dernier message: 30/04/2013, 16h27
  3. Changer le thème pour un programme
    Par Yédih dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 27/06/2011, 19h25
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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