Bonjour,
je cherche des exemples d'app écrites en python qui "ressemblent" à des appli pour smartphone.
Je m'explique : les applis pour smartphone "effacent" souvent tout l'écran incluant des boutons et toute une série de graphiques pour passer à un autre écran qui inclue toute une autre série de boutons et une autre série de graphiques.
En gros, je cherche à recréer un équivalent du menu d'un smartphone quand on se balade dans la section "paramètres" du smartphone.
Savez vous où je peux trouver des exemples en libre?
Merci
# Frame
Posté par kr1p . Évalué à 1. Dernière modification le 17 juin 2020 à 23:23.
J'ai trouvé un truc mais jai un petit soucis dans ma compréhension de la bibliothèque tkinter et en particulier de Frame.
Jai regardé la doc mais je n'ai pas trouvé.
Ainsi, lorsque j'instancie un Frame dans le code ci-dessous, je ne comprend pas comment la class StartPage définit une "référence" à la fenêtre déjà instancié par Tk.
Il y a les paramètre boss ou parent ou master que je vois souvent dans les codes ou dans la doc, mais sans que ce soit bien défini. et le parametre controller, mais je ne comprend pas bien. Dans la doc jai également vu le paramètre container=0 par défaut sans qu'il soit expliqué à quoi il sert.
D'où ma question : comment Tk et Frame interagissent entre eux pour
J'ai le meme soucis dans un exercice où un bouton instancie une nouvelle fenetre tk et je n'arrive pas à référencer les widgets de la nouvelle fenetre à la fenetre initiale.
Je ne comprend pas "parent" et "controller". Visiblement
[^] # Re: Frame
Posté par _kaos_ . Évalué à 2. Dernière modification le 18 juin 2020 à 11:44.
Salut,
Je ne connais pas la librairie en particulier, donc, il faut probablement prendre cette réponse avec des pincettes.
parent, en général, ça réfère à la fenêtre "mère" (celle sur laquelle l'utilisateur a cliqué pour avoir une nouvelle fenêtre).
Quand à controller je subodore que c'est juste la partie "C" d'un MVC :)
Matricule 23415
[^] # Re: Frame
Posté par kr1p . Évalué à 1.
ok merci, effectivement le code initial fait référence à controller pour le modèle mvc.
j'ai trouvé container dans une doc subsidiaire, cest assez incompréhensible: lorsqu'on met cette option sur 1 on a :
"this window will be used as a container in which some other application will be embedded[…]The window should not have any children of its own in this application"
En d'autres termes, la frame pourra "embeddé" (contenir) d'autres applications, mais ne devrait pas avoir de "children of its own". Pourtant, si une frame contient d'autre widgets, ces widgets sont bien des "children" de la frame non?
Pour les autres mots clés master, parent, et boss, cest simplement pour désigner la fenêtre "mère", mais d'apres quelques exemples dans Swinnen y a également le mot clé master qui semble "réservé" dans tkinter, notamment si on instancie un frame sans avoir pré-instancié une fenêtre mère. je me demandais si ces autres mots clés sont potentiellement "réservés" systématiquement mais ca ne semble pas le cas
[^] # Re: Frame
Posté par _kaos_ . Évalué à 2.
Salut,
L'UI, même si j'en ai fait, c'est pas ma spécialité du tout. Et encore moins dans un contexte mobile.
En gros, moi je comprend que l'application mère ne doit pas pouvoir créer de nouvelles "Frames", car ça peut gêner au niveau UI.
Mais je peux être complètement à côté de la plaque…
Matricule 23415
[^] # Re: Frame
Posté par NeoX . Évalué à 2.
sauf que ce n'est pas toi qui va gérer ces enfants (children) mais l'application que tu lances dedans.
donc ton seul enfant sera l'application lancée dans le conteneur.
[^] # Re: Frame
Posté par kr1p . Évalué à 1. Dernière modification le 18 juin 2020 à 18:09.
une petite question supplémentaire: dans le cas du code ci-dessus, quand on instancie une StartPage, le constructeur de cette classe est défini par
et la fonction qui l'instancie est définie dans la classe Appli par :def __init__(self, parent, controller):
Du coup, le controller de l'instanciation de StartPage est bien l'objet instancié préalablement par la classe Appli, n'est ce pas?F(container, self)
[^] # Re: Frame
Posté par _kaos_ . Évalué à 2. Dernière modification le 18 juin 2020 à 18:17.
Salut,
A nouveau, pas trop regardé le code, mais si tu as plusieurs instances d'un controller, il y a moyen que ça pose des petits soucis…
Matricule 23415
[^] # Re: Frame
Posté par kr1p . Évalué à 1.
jai un soucis avec la distinction attribut et fonction:
j'instancie un objet Appli dont la classe est héritée de tk.
je crée un app=Appli()
jai définie une fonction à l'intérieur de la classe Appli
lorsque je fais un app.create_occur("1","2")
il me met
AttributeError: '_tkinter.tkapp' object has no attribute 'create_occcur'
comme si il comprenait pas que c'est une fonction?
[^] # Re: Frame
Posté par _kaos_ . Évalué à 2.
Salut,
Combien de c dans l'appel
create_occcur
? :)Matricule 23415
[^] # Re: Frame
Posté par kr1p . Évalué à 1.
ahah putain j'ai du passer une demi heure à chercher
merci
[^] # Re: Frame
Posté par _kaos_ . Évalué à 2. Dernière modification le 19 juin 2020 à 11:31.
Salut,
Moi, à peine deux minutes :p (le temps de bien compter tous les
c
quoi :) ).Matricule 23415
[^] # Re: Frame et imbrication d'instances
Posté par kr1p . Évalué à 1.
Salut,
je reviens sur cette histoire de controller.
dans le code plus haut, j'instancie PageOne à partir de l'instance de la classe Appli.
PageOne fait référence au controller dans sa méthode constructeur et je peux donc utiliser controller.fonctionA ou controller.fonctionB ou controller.attribut dans le déroulée de la methode constructeur.
Par contre, si je définis une fonction ou une méthode dans ma classe PageOne et que je fais référence à controller (qui est un des arguments de la methode constructeur) il ne comprend plus.
D'où ma question: est ce que c'est ok de faire un self.controller=controller dans la methode constructeur?
est ce que ca dédouble pas le constructeur? je sais que pour les listes par exemple a=liste1 et b=a font que a et b sont des alias qui renvoient au meme objet. Mais il n'en est pas de même pour d'autres types d'objets..
merci
[^] # Re: Frame et imbrication d'instances
Posté par _kaos_ . Évalué à 2. Dernière modification le 19 juin 2020 à 21:55.
Salut,
Bah à priori oui, tu fais juste que copier l'adresse donc il n'y a pas de duplication de controller.
Par contre, je ne sais pas si plein de monde lis tes messages, car ils arrivent dans un fil, pas forcément suivi.
Juste pour info du coup, deux points sur les règles plus ou moins de vigueur ici :
Je pense que si tu aplique la 2 tu aura plus de réponses ;)
Matricule 23415
[^] # Re: Frame et imbrication d'instances
Posté par kr1p . Évalué à 1.
iep merci des rappels
apres test les objets et leurs attributs fonctionnent bien comme des listes
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.