IntroductionInstallationLimitations du protocole "file"Questions fréquemment poséesSyntaxe, mots-clés et fonctions intégréesDistribution standardImplémentation de importPackages BrythonInterface avec le navigateur
Introduction - API DOM
Créer un document Accéder aux éléments Attributs, propriétés et méthodes Evénements Evénements souris Evénements clavier Evénements focus Evénements pour glisser-déposer Chaine de requête Objets et librairies Javascript Modules intégrés propres à Brython
browser
browser.aio browser.ajax browser.html browser.local_storage browser.markdown browser.object_storage browser.session_storage browser.svg browser.template browser.timer browser.webcomponent browser.websocket browser.worker Widgets browser.widgets.dialog browser.widgets.menu interpreter javascript Travailler avec BrythonRecettes
Salut !
Insérer du contenu dans un élément Mise en forme HTML (gras, italique...) Table HTML Attacher / détacher des événements Gérer la sélection d'options dans un SELECT Glisser-déposer Obtenir le contenu d'un élément Lire le contenu d'un fichier Stocker des objets localement Exemple de onmouseover |
browser.widgets.dialogCe module fournit des boites de dialogue.ClassesInfoDialog(title, message, *, top=None, left=None, default_css=True, remove_after=None, ok=False)
Affiche une boite de dialogue avec un message d'information
from browser.widgets.dialog import InfoDialog # Boite d'information avec bouton "Ok" personnalisé d1 = InfoDialog("Test", "Message d'information", ok="Compris")from browser.widgets.dialog import InfoDialog # Boite d'information qui disparait après 3 secondes d1 = InfoDialog("Test", "Je ferme dans 3 secondes", remove_after=3) EntryDialog(title, message=None, *, top=None, left=None, default_css=True, ok=True)
Affiche une boite de dialogue avec un message d'information et une zone de
saisie.
Quand l'utilisateur clique sur le bouton "Ok", ou tape sur la touche Entrée
dans la zone de saisie, un événement nommé "entry" est déclenché sur
sur l'instance de
Les instances de from browser import bind from browser.widgets.dialog import InfoDialog, EntryDialog d = EntryDialog("Test", "Nom") @bind(d, "entry") def entry(ev): value = d.value d.close() InfoDialog("Test", f"Bonjour, {value} !") Dialog(title, *, top=None, left=None, default_css=True, ok_cancel=False)
Affiche une boite de dialogue générique, qu'on peut compléter en ajoutant
des élements à son attribut
Dialog possèdent les attributs suivants:
from browser import bind, html from browser.widgets.dialog import Dialog, EntryDialog, InfoDialog translations = {'Français': 'Salut', 'Español': 'Hola', 'Italiano': 'Ciao'} d = Dialog("Test", ok_cancel=True) style = dict(textAlign="center", paddingBottom="1em") d.panel <= html.DIV("Nom " + html.INPUT(), style=style) d.panel <= html.DIV("Langue " + html.SELECT(html.OPTION(k) for k in translations), style=style) # Gestionnaire d'événement pour le bouton "Ok" @bind(d.ok_button, "click") def ok(ev): """Boite de dialogue avec message, positionnée à la place de la boite d'origine.""" language = d.select_one("SELECT").value prompt = translations[language] name = d.select_one("INPUT").value left, top = d.scrolled_left, d.scrolled_top d.close() d3 = InfoDialog("Test", f"{prompt}, {name} !", left=left, top=top) Style CSSSi l'argument default_css passé au menu vautTrue (valeur par défaut), la
feuille de style suivante est insérée dans le document courant:
Pour personnaliser l'apparence des boites, il faut passer comme argument:root { --brython-dialog-font-family: Arial; --brython-dialog-font-size: 100%; --brython-dialog-bgcolor: #fff; --brython-dialog-border-color: #000; --brython-dialog-title-bgcolor: CadetBlue; --brython-dialog-title-color: #fff; --brython-dialog-close-bgcolor: #fff; --brython-dialog-close-color: #000; } .brython-dialog-main { font-family: var(--brython-dialog-font-family); font-size: var(--brython-dialog-font-size); background-color: var(--brython-dialog-bgcolor); left: 10px; top: 10px; border-style: solid; border-color: var(--brython-dialog-border-color); border-width: 1px; z-index: 10; } .brython-dialog-title { background-color: var(--brython-dialog-title-bgcolor); color: var(--brython-dialog-title-color); border-style: solid; border-color: var(--brython-dialog-border-color); border-width: 0px 0px 1px 0px; padding: 0.4em; cursor: default; } .brython-dialog-close { float: right; background-color: var(--brython-dialog-close-bgcolor); color: var(--brython-dialog-close-color); cursor: default; padding: 0.1em; } .brython-dialog-panel { padding: 0.6em; } .brython-dialog-message { padding-right: 0.6em; } .brython-dialog-button { margin: 0.5em; } default_css=False et redéfinir les classes CSS. Le plus simple est de
copier-coller la feuille de style ci-dessus et de l'éditer.
Zones d'une boite de dialogue et classes CSSLes différentes zones de la boite possèdent les propriétés et les classes CSS suivantes:
|