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

Python Discussion :

Acceder à un widget à partir d'une autre class


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2022
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2022
    Messages : 21
    Par défaut Acceder à un widget à partir d'une autre class
    Bonjour,

    jusque là j'avais un code dans un seul fichier.
    pour faire plus propre j'ai décidé de tout séparé en différents fichiers.

    avant j'avais donc une class pour l'interface graphique avec une méthode pour modifier différents widgets.
    maintenant cette méthode je l'ai déplacé dans une autre class (dans un autre fichier)
    comment je peux modifier mon widget à partir de cette nouvelle class (nouveau fichier)?

    un truc à faire sur l'instanciation de la class ? methode __ini__ ? ....

    merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Non il n'y a rien à faire de plus que ce que vous faisiez avant avec votre précédente classe.

    Présentez votre code avec l'ensemble des modules pour montrer ce que vous avez essayé et donnez les messages d'erreur.

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour

    pas clair ton explication ...

    Puisque ici, tu parles de méthodes et classes, simplement on dépace notre classe (c'est donc juste un couper/coller)

    Puisque tu parles de modifier des widgets, tu peux avoir une arborescence du type dossier "widgets" et créer un fichier (module) par "nouveau" widget

    EDIT
    en gros dans
    Ton pseudo code est non formaté et incompréhensible pour te donner une réponse
    Tu désires avoir accès à self.dlg du fichier principal depuis le second fichier ??? Sans doute une grosse erreur de conception

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2022
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2022
    Messages : 21
    Par défaut
    non, pas de message d'erreur,
    je cherche juste à avoir accés à mes widgets du dialogue à partir d'une class dans un autre fichier.

    en gros dans un premier fichier j'ai : (je simplifie)
    mes widgets sont definis par qtdesigner

    class attributs:
    def JeuxAttributs(self)
    self.dlg = changeAttributDialog()


    dans un autre fichier :
    class cheminlepluscourt
    def test(self)
    "ici je veux avoir accés aux widgets (dlg) du premier fichier pour les modifier"

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Dans votre deuxième fichier,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from premierfichier import attributs
    
    class cheminlepluscourt:
        def test(self):
            attr = attributs()
            attr.JeuxAttributs()
    premierfichier est le nom de votre fichier .py où se trouve votre classe attributs

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par gerome88 Voir le message
    jusque là j'avais un code dans un seul fichier.
    pour faire plus propre j'ai décidé de tout séparé en différents fichiers.
    Eclater le code qui est dans un seul script en plusieurs modules ne devrait ajouter que des import et des différences dans l'accès aux objets.

    Citation Envoyé par gerome88 Voir le message
    maintenant cette méthode je l'ai déplacé dans une autre class (dans un autre fichier)
    Là vous faites 2 changements: un dans la structure du code (bouger la méthode) et un autre en éclatant le code en modules.
    Faits fonctionner la modification du code avant de l'éclater en modules... serait plus facile.

    Pour le reste si vous ne postez pas un minimum de code qui permet de reproduire ce que vous racontez, pas facile de vous aider.

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

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2022
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2022
    Messages : 21
    Par défaut
    Oui je suis d'accord, eclater le code en plusieurs module c'est pas un pb.
    juste qu'avec une interface graphique (qtdesigner) je suis un peu perdu pour avoir accès aux contrôles en dehors du fichier où est instancié la class graphique.

    une class graphique reste une class, je vais creuser un peu , et sans code j'avoue , pas facile de me répondre.

    pour faire simple : ce que je veux:
    faire un interface graphique avec qtdesigner, donc je me retrouve avec une class ou est instancier ma class graphique, j'ai accès a tous les contrôles, blabla...
    ensuite je veux creer une autre class dans un autre fichier py, mais je veux avoir accés dans cette nouvelle class au contrôles de l'interface.


    Citation Envoyé par wiztricks Voir le message
    Salut,



    Eclater le code qui est dans un seul script en plusieurs modules ne devrait ajouter que des import et des différences dans l'accès aux objets.



    Là vous faites 2 changements: un dans la structure du code (bouger la méthode) et un autre en éclatant le code en modules.
    Faits fonctionner la modification du code avant de l'éclater en modules... serait plus facile.

    Pour le reste si vous ne postez pas un minimum de code qui permet de reproduire ce que vous racontez, pas facile de vous aider.

    - W

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par gerome88 Voir le message
    pour faire simple : ce que je veux:
    ...
    je veux creer une autre class dans un autre fichier py, mais je veux avoir accés dans cette nouvelle class au contrôles de l'interface.
    Toujours pas "simple" , tout simplement parce qu'il n'y a jamais de recette toute faite
    Comme dit plus haut, si tu penses avoir ce besoin c'est que tu as sans doute un problème de conception (car ce besoin ne devrait pas exister). Et puisque tu ne donnes même pas la nature de ta "nouvelle" classe, autant nous demander "Quelle est la couleur du truc ?", j'ai même plus de chance de bien répondre à cette question "couleur"

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par gerome88 Voir le message
    pour faire simple : ce que je veux:
    faire un interface graphique avec qtdesigner, donc je me retrouve avec une class ou est instancier ma class graphique, j'ai accès a tous les contrôles, blabla...
    Déjà ce serait plus une question Qt/QtDesigner (et pas Python en "général"). A mon souvenir, la class (Form) crée par QtDesigner s'intègre dans le Main Window Qt via héritage multiple. L'accès a ses attributs est "direct" et on doit pouvoir forcer leur nom (plutôt que de laisser QtDesigner le fabriquer par défaut) pour y accéder de façon "contrôlée".

    Il vous reste à trouver un tuto pour essayer de comprendre comment tout cela fonctionne et, éventuellement, demander de l'aide dans le bon forum de discussion avec exemple en illustration.

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

Discussions similaires

  1. Accéder aux attributs d'un agent à partir d'une autre classe Java
    Par SmartR dans le forum Programmation par agent
    Réponses: 0
    Dernier message: 28/03/2017, 12h57
  2. accéder à variable privée d'une classe à partir d'une autre classe
    Par restapa dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 05/08/2010, 08h56
  3. Accéder aux éléments XAML à partir d'une autre classe
    Par Keitboor dans le forum Silverlight
    Réponses: 4
    Dernier message: 24/02/2009, 14h02
  4. [JtextArea] Y accéder à partir d'une autre classe
    Par harris_macken dans le forum Composants
    Réponses: 16
    Dernier message: 12/06/2005, 00h27
  5. Réponses: 22
    Dernier message: 03/02/2005, 16h43

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