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

EDI/RAD Python Discussion :

[Débutant] Conception d'une GUI avec PyQt


Sujet :

EDI/RAD Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut [Débutant] Conception d'une GUI avec PyQt


    Je débute sur Python mais surtout et encore plus sur PyQt. Je me pose en fait quelques questions sur la conception de l'interface de mon programme d'exercice.

    C'est comme à l'habitude, un éditeur de texte. Une MainWindow séparée en trois parties: une partie gauche, basse et la partie centrale. Les parties gauche et basse contiendrons divers widgets comme par exemple en bas l'interpréteur python, sur la gauche on pourrait y trouver pourquoi l’arborescence des dossiers, etc... le tout sur pages à onglets. La partie centrale page à onglets pour l'ouverture multiple de fichiers.

    J'avais testé rapidement avec les QDockWidget ce qui me satisfait pas mal déjà et j'aime les utiliser par ailleurs mais la partie centrale ne se redimensionne pas lorsque j'étire la fenêtre.

    Questions :
    • Faut-il utiliser un autre widget avant de mettre les QDockWidget et la partie centrale ?
    • Les QSplitter sont-ils la solution en posant d'abord les splitter puis les dock ?


    pour vos lumières
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Bonjour,

    Utilises-tu Qt Designer ? j'ai remarqué qu'avec celui-ci il est nécessaire de placer la partie centrale avant les dockWidget, du moins sous Linux.

    Le redimensionnement de la partie centrale s'obtient en plaçant l'ensemble de tes widgets dans un gridLayout, pour cela assures-toi que RIEN ne soit sélectionné, et dans le menu Form (étrangement traduit Formulaire) choisir "Mettre en page dans une grille".

    Il y a aussi l'option "Mettre en page dans un layout de formulaire" qui semble faire la même chose, je ne l'ai jamais utilisée.

    Si c'est moins simple que cela montres nous un exemple.

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Utilises-tu Qt Designer ?
    Oui enfin j'essai pour le moment

    Ok ton astuce fonctionne cela dit lorsque je met un widget comme par exemple les onglets dans QDockWidget, c'est comme ils n'était pas assossiés et donc pas de redimensionnement du widget à l'intérieur, ni même en mettant un layout.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Ha oui, il faut aussi "imbriquer" les widgets, donc dans ton cas;

    Un dockWidget qui contient un tabWidget, avec le tabWidget sélectionné, tu sélectionnes en plus le dock, c'est souvent plus facile dans la fenêtre des éléments, et tu mets les deux dans un layout vertical (horizontal ce doit être pareil).


    Edit: Et pour imbriquer des widgets dans un tabWidget il faut sélectionner le tabWidget entier et non pas l'onglet seul.
    La fenêtre des éléments s'appelle en fait Inspecteur d'objet.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Ca marche au poil
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/05/2006, 17h00
  2. Réponses: 2
    Dernier message: 01/05/2006, 16h38
  3. [Débutant][Conception] Modéliser une pile d'entiers
    Par philippe123 dans le forum Général Java
    Réponses: 45
    Dernier message: 20/02/2006, 21h42
  4. Réponses: 3
    Dernier message: 10/02/2006, 15h48
  5. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58

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