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

GUI Python Discussion :

Recherche d'une GUI particulière (voir création de ma propre GUI)


Sujet :

GUI Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Recherche d'une GUI particulière (voir création de ma propre GUI)
    Bonjour à tous,

    Tout d'abord je suis en train de monter un projet colossal (dont j'espère vous entendrez parler dans le futur) et pour ce faire j'ai besoin d'une interface graphique particulière (j'ai beau chercher sur le net je ne trouve rien qui me plaise et ça fait longtemps que je cherche).

    Il me faudrait une GUI qui puisse ressembler à un widget windows (donc sans la barre de titre, ayant un fond transparent et une zone d'interaction limitée, un peu comme Rainmeter) mais je souhaite aussi qu'elle soit portable sur tous les systèmes d'exploitation.

    Voici donc un premier schéma de la GUI que je souhaiterai créer.
    En rouge ce sont les boutons qui devront masquer les différents menu.
    Il devra être facile d'ajouter des éléments au menu.
    Le mieux serait une image animée mais si c'est trop complexe elle restera statique.
    Autour de l'image il y a des jauges qui permettront d'informer l'utilisateur sur la progression de divers éléments (elles doivent donc obligatoirement être animées)
    Tout ceci sera toujours en fond (avec un raccourci clavier permettant de le basculer au premier plan ou de le masquer complètement).

    Nom : example1.png
Affichages : 313
Taille : 739,1 Ko

    Ensuite lors d'un clic sur un élément du menu, une fenêtre normale (comme les GUI que l'on peut facilement créer avec les frameworks) apparaitrait.

    Nom : example2.png
Affichages : 209
Taille : 72,2 Ko

    Ce qui me pose problème actuellement est que je ne trouve rien qui puisse facilement faire disparaitre la barre de titre, le fond et laisser l'utilisateur interagir avec ce qui se trouve derrière les éléments.

    Je ne trouve également rien (je pense que je ne cherche pas bien) sur comment créer sa propre interface graphique (en positionnant pixel par pixel au pire ).

    Si vous pensez que python n'est pas le bon langage pour un tel projet n'hésitez pas à me le dire (moi même j'hésite beaucoup et le choix du langage est loin d'être définitif, c'est juste que de mon point de vue il est plus facile de gérer des interfaces graphiques, communications avec un serveur avec du python) il y aura également du C++ ainsi que du Cython pour optimiser au maximum le logiciel.

    Je sais que j'en demande beaucoup mais pourriez-vous également me dire si les librairies que vous me proposez sont lourdes car j'aimerai que le logiciel puisse être installé facilement sans trop surcharger les systèmes d'exploitations.

    Merci d'avance pour vos réponses et désolé si j'ai mal exprimé mes besoins, le projet est très clair dans ma tête et ça fait longtemps que je souhaite me lancer dedans mais je ne sais pas du tout comment m'y prendre avec l'interface graphique.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Si vous voulez écrire une application graphique "portable", il va falloir choisir une bibliothèque graphique "portable".
    note: si vous voulez écrire votre bibliothèque graphique à partir de rien, laissez tomber sauf si vous avez un budget avec plein de 0.

    Pourquoi ne pas commencer par évaluer les bibliothèques "populaires" du genre Tk, Qt, PyGame, ...?
    Elles n'ont peut être pas toutes les fonctionnalités que vous souhaitez mais c'est un bon départ pour définir ce que vous voulez (ou pas).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse

    Et bien j'ai déjà essayé une librairie portable (QT) et elle ne m'a pas beaucoup plus. On m'a également dit que c'était des librairies lourdes et que l’utilisateur aurait du mal à pouvoir installer le logiciel. Je sais que dans le développement plus le sujet sera complexe plus il y aura tendance à avoir une surcharge de code si on utilise des librairies annexes. Et je souhaite optimiser mon code au maximum.

    C'est vraiment si compliqué que ça de créer sa propre interface graphique ? Parce que je compte avoir une équipe avec moi et je vois certaines personnes qui se lancent dans des projets d'interface graphique toutes seules.

    Et c'est justement pour ça que je posais la question, pour savoir si il y aurait une librairie qui possèderai toutes ces fonctionnalités (j'ai déjà réussi à désactiver la barre de titre sur Qt mais ça rend pas super bien :/ ) et j'aimerai éviter le bidouillage et faire un truc clean (je sais c'est beaucoup demander :/ )

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Farkal Voir le message
    Et bien j'ai déjà essayé une librairie portable (QT) et elle ne m'a pas beaucoup plus. On m'a également dit que c'était des librairies lourdes et que l’utilisateur aurait du mal à pouvoir installer le logiciel. Je sais que dans le développement plus le sujet sera complexe plus il y aura tendance à avoir une surcharge de code si on utilise des librairies annexes. Et je souhaite optimiser mon code au maximum.
    L'utilisateur lance une application qu'il aura pu installer facilement que cette application ait été construite avec Python, Qt ou autres...
    Là on sort du développement pour s'attaquer au packaging: avez vous regardé cx_freeze?

    C'est vraiment si compliqué que ça de créer sa propre interface graphique ? Parce que je compte avoir une équipe avec moi et je vois certaines personnes qui se lancent dans des projets d'interface graphique toutes seules.
    Il y a une grande différence entre application graphique construite avec la bibliothèque X ou Y et l'écriture de la bibliothèque.
    Si vous voulez voir à quoi à quoi ressemble une bibliothèque graphique, pourquoi ne pas allez survoler les sources de GTK, Qt,...
    Ca vous donnerait une idée du boulot à faire.

    Et c'est justement pour ça que je posais la question, pour savoir si il y aurait une librairie qui posséderai toutes ces fonctionnalités (j'ai déjà réussi à désactiver la barre de titre sur Qt mais ça rend pas super bien :/ ) et j'aimerai éviter le bidouillage et faire un truc clean (je sais c'est beaucoup demander :/ )
    En matière de programmation, il y a toujours des solutions... l'enfer est dans les détails de la mise en œuvre.
    Et les forums de discussion sont là pour "aider" mais il faut poser des questions plus spécifiques. Par exemple, poster le code que vous avez fait avec Qt côté barre de titre, raconter pourquoi vous trouvez çà moche,...

    Si vous espérez qu'une bibliothèque graphique qui réponde à vos besoins existe, de toutes façons elle sera codée en C/C++ ou en Java (ou n'importe quel autre langage système). Si elle a quelque intérêt, d'aucuns passeront du temps pour la rendre accessible aux programmeurs d'autres langages comme Python, Ruby,... Tout çà pour dire qu'un forum Python n'est peut être pas le coin le plus branché pour trouver ce genre de mouton à 5 pattes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci de votre réponse

    Je viens de regarder cx_freeze et ça à l'air super mais je ne trouve pas d'information sur sa potentielle compatibilité avec Cython :/

    Pour les sources et bien effectivement c'est colossal mais pour moi c'est parce qu'ils souhaitent permettre à l'utilisateur de créer tout type d'élément graphique alors que dans mon cas seuls quelques éléments seront nécessaires.

    Je vous ce que vous voulez dire et je pense que je vais suivre votre conseil concernant la librairie en essayant de faire quelque chose de potable avec Qt.

    Mais j'aimerai tout de même savoir s'il est vrai qu'il est plus pratique et plus préformant de gérer des interfaces graphiques avec python car j'ai peur que mon interface soit complexe et qu'elle ralentisse l'exécution du logiciel alors que c'est tout le contraire que je souhaite (et je peux très bien tout basculer en C++).

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Farkal Voir le message
    Mais j'aimerai tout de même savoir s'il est vrai qu'il est plus pratique et plus préformant de gérer des interfaces graphiques avec python car j'ai peur que mon interface soit complexe et qu'elle ralentisse l'exécution du logiciel alors que c'est tout le contraire que je souhaite (et je peux très bien tout basculer en C++).
    D'un point de vue "project manager", je dirais qu'il faut savoir quels sont les risques qu'on ne veut pas prendre.
    Si vous pensez préférable de tout coder en C++, je n'essaierai pas de vous convaincre du contraire: c'est vous qui allez coder, pas moi

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Justement je n'ai pas tellement connaissance des risques liés à python ou à l'utilisation du C++ (je suis en train de me lancer dans le développement en python et j'ai des bases en C++) donc si vous pouviez m'en informer ça m'aiderai à faire mon choix

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Il y a déjà eu des tas de discussions plus ou moins enflammées sur ces sujets.
    Vous pouvez les retrouver via votre navigateur préféré.
    Personnellement, je ne vois pas trop l'intérêt de passer du temps à redire ce qui a été dit ici ou là.

    Bon courage.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

    Pour des programmes graphiques, Python permet de coder plus rapidement qu'en C ou C++ avec les logiciels "bindings" (PyQt/PySide, PyGtk, ...) qui font le lien avec les bibliothèques graphiques (Qt, Gtk, ...). Et grâce à cela, ces programmes Python graphiques s'exécutent rapidement parce que les bibliothèques graphiques sont écrites en C ou C++ et s'exécutent donc avec du code machine.

    Pour des parties graphiques qui n'existent pas en C, on peut effectivement en écrire des morceaux en Python et les compiler avec Cython. On peut ainsi construire des modules compilés et en importer les éléments dans n'importe quel programme Python (mais ces modules doivent être compilés dans chaque plateforme!).

    Et cx_freeze ne fait qu'empaqueter les éléments d'un programme avec l'interpréteur Python ainsi que les modules nécessaires à son fonctionnement "standalone", mais sans accélérer l'exécution. Ça marche bien, mais il faut, bien sûr, faire le traitement cx_freeze pour chaque plateforme. Les modules compilés avec Cython seront intégrés sans problème: peut-être faudra-t-il en demander explicitement la recopie dans la configuration du traitement (setup.py).

    Les bibliothèques Qt et Gtk sont déjà très riches et très puissantes puisqu'elles sont utilisées pour créer certains bureaux graphiques de Linux (KDE et Gnome). Et Gtk a même été développé au départ pour le logiciel de traitement d'image "GIMP" (analogue à photoshop).

    Le problème que je vois dans l'énoncé de ton projet, c'est que tu as un tel niveau d'exigences que tu risques fort de dépasser les fonctionnalités effectivement disponibles à partir de Python: il te restera alors à faire en C++, voire en assembleur: Cela risque seulement d'allonger le temps nécessaire... A toi de voir si ton projet vaut le coup (et le coût!) ou si tu acceptes de "lâcher" un peu sur certaines de tes exigences.

    A part ça, comme le dit wiztricks, ce genre de discussion existe à plusieurs endroits sur ce forum, et il faut en prendre connaissance.
    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

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses.

    Je vais donc voir s'il n'est pas préférable de tout coder en C++ effectivement. A force de faire des recherches sur comment bidouiller Qt je fini par voir des manières de réaliser cette interface (et je me demande si je vais pas passer par un interpréteur web (Qt en propose un) et puis tout coder en css, html et javascript, mais je me pose toujours des questions au niveau des performances :/)

    Mon projet n'aura pas de coût à proprement parler car il est entièrement bénévole, je monte ça en parallèle à mes études et avec des amis qui partagent l'idée et je compte en faire un projet entièrement open source.

    Je comprend également que les débats sont nombreux car chaque développeur à ses préférences.

    J'aurai juste une dernière question, le logiciel va faire beaucoup d'encryptage et de décryptage complexe ainsi que de nombreuses communication encryptés avec des serveurs (je souhaite sécuriser au maximum le logiciel) pensez vous que cela est plus pratique à faire en python (car il est recommandé pour sa facilité à communiquer avec les serveurs) ?

    Encore merci pour vos explications et le temps que vous m'accordez

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Farkal Voir le message
    Je vais donc voir s'il n'est pas préférable de tout coder en C++ effectivement. A force de faire des recherches sur comment bidouiller Qt je fini par voir des manières de réaliser cette interface (et je me demande si je vais pas passer par un interpréteur web (Qt en propose un) et puis tout coder en css, html et javascript, mais je me pose toujours des questions au niveau des performances :/)
    Pendant que vous vous posez des questions, vous n'écrivez pas beaucoup de lignes de code
    Faites marcher 80% de votre application sans vous embarrasser des détails.
    Les questions de performances sont importantes mais si vous n'avez pas un code fonctionnel, çà reste "vague". Et çà le restera tant que vous n'avez pas un chemin de code à optimiser - mais pour çà, il faut avoir un truc qui fonctionne un peu.


    Mon projet n'aura pas de coût à proprement parler car il est entièrement bénévole, je monte ça en parallèle à mes études et avec des amis qui partagent l'idée et je compte en faire un projet entièrement open source.

    Je comprend également que les débats sont nombreux car chaque développeur à ses préférences.
    Eh bien, il a au moins un coût d'opportunité, i.e. tout le temps passé à développer cela plutôt qu'a d'autres activités.

    J'aurai juste une dernière question, le logiciel va faire beaucoup d'encryptage et de décryptage complexe ainsi que de nombreuses communication encryptés avec des serveurs (je souhaite sécuriser au maximum le logiciel) pensez vous que cela est plus pratique à faire en python (car il est recommandé pour sa facilité à communiquer avec les serveurs) ?
    Les algorithmes de cryptographie sont bien connus et doivent dépoter pour être "transparents". Ils sont donc développes en langage système (C++, Java,...) et accessible au programmeur Python via des "bindings" / "pluggins" /...
    note: c'est pareil pour les librairies graphiques, non?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Durant mes études on m'a appris que l'analyse de la conception d'un logiciel compte autant que sa conception elle-même. C'est pour cette raison que je prend le temps de bien peser le pour et le contre de chaque méthode. Mon expérience dans le web y est aussi pour quelque chose, j'ai recodé le même site web (système serait plus exact) 3 fois et c'est vraiment épuisant (surtout au niveau motivation), tout ceci pour des histoires de framework qui ne convenait pas (tout d'abord sans puis un framework trop lourd et maintenant un qui tourne bien). C'est pour cette raison que je prend votre avis sur les librairies car je sais que si je désire par la suite changer de librairie cela sera complexe (on apprend de ses erreurs).
    Mais je suis d'accord sur le principe de l'optimisation et le code ne devrait pas tarder.

    Eh bien, il a au moins un coût d'opportunité, i.e. tout le temps passé à développer cela plutôt qu'a d'autres activités.
    Effectivement

    Les algorithmes de cryptographie sont bien connus et doivent dépoter pour être "transparents". Ils sont donc développes en langage système (C++, Java,...) et accessible au programmeur Python via des "bindings" / "pluggins" /...
    note: c'est pareil pour les librairies graphiques, non?
    D'accord merci pour l'information (je comptais en développer un spécifique au logiciel mais pour commencer je vais commencer par prendre de l'existant)

    Je passe le sujet en résolut car je ne pense pas avoir d'autres questions

    Merci beaucoup pour vos réponses qui m'ont bien aidé

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

Discussions similaires

  1. sed : recherche d'une séquence particulière
    Par Gyslain dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/11/2009, 10h27
  2. A la recherche d'une distribution particulière
    Par AoCannaille dans le forum Distributions
    Réponses: 4
    Dernier message: 19/06/2009, 19h07
  3. Recherche d'une police particulière
    Par Ksawery dans le forum Mise en forme
    Réponses: 1
    Dernier message: 05/02/2008, 13h52
  4. [VBA-E]recherche d'une valeur particulière
    Par rifchavon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/04/2007, 14h52
  5. Réponses: 2
    Dernier message: 07/10/2006, 19h46

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