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 :

Coloration syntaxique sur un QTextEdit


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 Coloration syntaxique sur un QTextEdit
    Bonsoir,

    y a-t-il un système simple d'ajouter la coloration syntaxique à un QTextEdit ?

    je souhaiterai colorer en programmation bash comme peut le proposer par exemple le logiciel kate.

    J'ai vu que cela semble possible mais compliqué car il faut tout configurer (les couleurs, les mots à colorer...).

    merci
    Sous Kubuntu 20.04

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Je ne connais que QScintilla pour cela. [0]

    Il existe des lexers pour un grand nombre de langages, dont Bash, bien sur. [1]

    Rien de chinois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    from PyQt4.Qsci import QsciScintilla, QsciLexerBash
     
    editor = QsciScintilla()
    lexer = QsciLexerBash()
    editor.setLexer(lexer)
    Il faut en général paramétrer la police de caractères, famille 'Consolas' par exemple.


    [0] http://pyqt.sourceforge.net/Docs/QScintilla2/index.html
    [1] http://pyqt.sourceforge.net/Docs/QSc...cb28c3540b5a36

  3. #3
    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,

    Il y a quelques mois, j'ai développé un outil à base de QTextEdit pour gérer mes nombreux scripts SQL. Dans ce cadre, je me suis lancé dans la colorisation syntaxique, et j'ai réussi.

    J'ai pris cela comme exemple pour écrire un tuto: il est ici => http://python.jpvweb.com/mesrecettes...taxe_qtextedit.

    Une fois qu'on a compris le principe, ce n'est pas si compliqué que ça. Et on peut choisir ce qu'on met en évidence (couleur, gras, italique, etc...) en fonction de la syntaxe du langage et de sa sensibilité personnelle.

    J'avais avant regardé QScintilla, qui a des fonctionnalités plus puissantes, mais j'ai trouvé ça plus difficile à cause du manque d'exemples et d'une doc que je n'ai pas trouvé très pratique à utiliser. Mais peut-être faudra-t-il que je réessaie un de ces jours.

    En tout cas, la solution avec un QTextEdit 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

  4. #4
    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
    vins => ta méthode semble plus simple mais impossible d'importer quoi que ce soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    from PyQt4.Qsci import QsciScintilla
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named 'PyQt4.Qsci'
    tyrtamos => c'est ce genre de méthode que j'avais vu, mais c'est quand même vachement lourd pour un peu de coloration...
    Sous Kubuntu 20.04

  5. #5
    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
    Pour QScintilla: il faut l'installer en plus de PyQt4: http://www.riverbankcomputing.co.uk/...tilla/download
    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

  6. #6
    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
    OK, donc ce n'est pas adapté à mon logiciel vu que le but est que cela soit le plus simple pour l'user, s'il faut installer des trucs en plus...

    il faudra donc que je me penche sur ta solution tyrtamos.
    Sous Kubuntu 20.04

Discussions similaires

  1. Coloration syntaxique sur le forum
    Par Anomaly dans le forum Evolutions du club
    Réponses: 133
    Dernier message: 02/12/2014, 18h54
  2. Coloration syntaxique sur champ Text
    Par legentil dans le forum Eclipse Platform
    Réponses: 8
    Dernier message: 18/10/2010, 12h46
  3. Coloration syntaxique comme sur Developpez
    Par ero-sennin dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 13/04/2008, 02h28

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