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

PyQt Python Discussion :

Afficher des tooltip pour aider dans la comprehension


Sujet :

PyQt Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut Afficher des tooltip pour aider dans la comprehension
    Bonsoir,

    je réfléchis à un système qui permettrait d'aider les utilisateurs de mon logiciel.

    Je pensais à un truc du genre :
    - Clic sur un bouton d'aide
    - Affiche plusieurs tooltip

    Alors soit les tooltip des widgets importants, soit création de tooltip à différents endroits.


    Je me disais qu'en utilisant et affichant les What'shis cela aurait pu le faire aussi.
    D'ailleurs je n'ai pas le bouton d'aide (?) sur ma fenêtre par contre lorsque je teste la fenêtre via qtcreator, je l'ai bien et tout fonctionne...


    Tout ça est encore brouillon et mes tests n'ont rien donné de concret...
    Si vous avez des idées pour faire un système dans le genre ça serait vraiment pas mal (que ça suive mes idées ou non).


    Merci et bonne nuit à vous.
    Sous Kubuntu 20.04

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Sans avoir été au bout du sujet, voilà ce que j'utilise:

    - les tooltips

    Par exemple sur un bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.bouton.setToolTip(u"toto tata titi tutu")
    A priori, le texte se positionne automatiquement en passant à la ligne si nécessaire. Mais on peut forcer le passage à la ligne en insérant des '\n'.

    On peut aussi utiliser un "richtext", c'est à dire du code html. Cela permet d'apporter des embellissements. Par exemple, on adopte une police de caractère plus grande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.bouton.setToolTip(u"""<span style="font-size:x-large;">toto<br/>titi<br/>tata<br/>tutu</span>""")
    A noter qu'en richtext, on force le passage à la ligne non pas avec '\n' mais avec <br/>

    On peut aussi intervenir pour modifier carrément le tooltip. Par exemple, on va lui mettre un fond jaune pâle (j'aime bien: la petite fenêtre du tootip ressort très bien):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    self.bouton.setStyleSheet(u"QToolTip {background-color: #ffff99; border: 1px solid black}")
    self.bouton.setToolTip(u"toto tata titi tutu")
    On peut, bien sûr, utiliser aussi du richtext avec le setToolTip.

    Ici, grâce au self.bouton.setStyleSheet, on a fait un tooltip du bouton à fond jaune clair, mais ou peut remonter cela au niveau de la fenêtre (self.setStyleSheet), voire au niveau de l'ensemble de l'application (app.setStyleSheet).

    A part le tooltip, j'utilise aussi un manuel plus complet: je l'écrit en html avec kompozer, et je l'affiche avec un navigateur. Au début, je l'affichais avec le navigateur par défaut de l'OS, mais maintenant, j'ai codé un navigateur en PyQt4, et c'est celui que j'utilise.

    J'aimerais bien utiliser, entre les 2 solutions ci-dessus, une aide contextuelle, mais je ne l'ai pas encore fait.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Merci pour le retour.

    En effet, la création de tooltip ne me pose aucun soucis.

    Mais je réfléchis a autre chose... un truc qui pourrait peut etre toutes les afficher en même temps (est-ce seulement possible)...

    Alors oui j'ai pensé au fichier externe mais j'aimerai essayé de pousser l'utilisation de pyqt...
    Sous Kubuntu 20.04

  4. #4
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    J'ai déjà eu à faire ceci et j'ai utilisé un QWebView puis j'ai créé mon document HTML de documentation.
    Il te suffit ensuite de mettre des "?" là où tu propose de l'aide ou d'associer l'appui d'une touche + un focus à un lien de ton doc HTML.

    Et tu as un système d'aide super simple, pratique et facile à mettre à jour au fil du temps...

    ++

    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    pas mal comme idée en effet.

    T'as un un lien pour le logiciel qui utilise ce systeme ?
    Sous Kubuntu 20.04

  6. #6
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Malheureusement non, et je ne sais même pas ce que j'ai fait des sources. Comme la quasi totalité des codes que j'écris il a du passer à la benne .

    Mais si tu le souhaites je peux essayer de refaire un exemple rapidos.
    De toute façon ça ne sera pas perdu car je pensais refaire ça pour un programme que je fais et qui j'espère va durer dans le temps

    @++
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme je le disais plus haut, mon aide écrite en html est affichée dans une fenêtre-navigateur écrite en PyQt4. Mon code (Python 2.7) est sur mon site, mais je n'ai pas encore eu le temps de le commenter => http://python.jpvweb.com/mesrecettes...navigateur_web. Avec ce navigateur, on peut aussi afficher des pages du web, mais je ne sais pas ce que ça vaut sur le plan sécurité.

    Pour appeler une aide contextuelle avec ça, on pourrait avoir des petits boutons avec '?', qui appelleraient le lien de l'aide avec la bonne ancre (#).

    J'ai regardé un peu les aides contextuelles avec le '?' en haut des fenêtres, mais curieusement, ça semble incompatible avec les touches de taille mini/maxi des fenêtres QWidget ou QMainWindow. Ce '?' est donc réservé aux fenêtres de dialogue. Bizarre.

    J'ai aussi en projet une fenêtre qui présenterait une aide multi-pages en html (navigateur à droite) avec un menu arborescent en partie gauche, comme l'aide Windows ".chm". Pour cette partie gauche, je pense à un QTreeView avec un modèle comme QFileSystemModel pour voir les fichiers d'une arborescence du disque. Il suffirait de présenter les fichiers d'aide dans cette arborescence. J'ai déjà fait quelque chose d'approchant pour gérer mes nombreux scripts SQL (mais sans arborescence avec un QListWidget), et ça marche très bien.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Salut Tyrtamos,

    En fait j'avoue ne pas avoir lu ton premier post entièrement. Toutes mes excuses.
    Il semble que nos solutions soient en fait assez proches

    Très gratifiant pour moi ceci est

    ++

    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    pour le moment, j'ai ajouter quelques label avec des numeros et des infobulles dessus.

    Ca le fera le temps que je trouve le courage de faire une page html :p
    Sous Kubuntu 20.04

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Bonsoir,

    je me permet de relancer la discussion vu que je me penche sur la façon de faire.

    Je suis parti sur l'utilisation d'un QTextEdit contenant du code html créé via QtCreator.

    Tout fonctionne bien jusqu'à ce que j'essaie d'utiliser le systeme d'ancre...

    De ce que j'en ai compris, il faut attribuer un id="nom de l'ancre" à un <span> ou <p> par exemple.
    Puis appeler le lien via un href="#nom de l'ancre".

    QTextEdit ayant une commande scrollToAnchor, je me dis que ça doit le faire aussi non ?

    Mais impossible d'y arriver, quelque soit le nom de l'ancre, que je mette l'id à un <span> ou <p>, que j'appelle l'ancre avec ou sans le # devant...

    Tout ce que cela fait, c'est me remonter tout en haut du texte...

    Est-ce dû à ma façon de m'y prendre ? Est-ce un bug ? Ou la commande ne sert-elle pas à ça ?

    Merci et bonne soirée !


    EDIT : En fait il faut utiliser <a id="ancre"></a> pour que cela fonctionne tout simplement...
    Sous Kubuntu 20.04

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2006, 08h53
  2. Réponses: 6
    Dernier message: 09/06/2006, 12h17
  3. [VBA-E] afficher des données apres saisie dans cellule
    Par user0505 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/04/2006, 14h04
  4. Réponses: 7
    Dernier message: 09/02/2006, 16h51
  5. afficher des traces pour debug
    Par el3gans dans le forum MFC
    Réponses: 6
    Dernier message: 03/02/2006, 22h32

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