Fixes, IP list
This commit is contained in:
parent
d202ad3b05
commit
cd0bf3113e
3 changed files with 119 additions and 43 deletions
33
tutorial.md
33
tutorial.md
|
|
@ -1,6 +1,14 @@
|
|||
# Tutoriel Tkinter
|
||||
|
||||
Pour aller plus loin : [TkDocs Tutorial](https://tkdocs.com/tutorial/index.html)
|
||||
**Prérequis** :
|
||||
Il faut être un peu à l'aise avec le Python, au moins les variables, fonctions, manipulation des chaînes de caractères.
|
||||
Si ce n'est pas le cas, [France-IOI](https://www.france-ioi.org/algo/chapters.php) propose une introduction ludique au Python.
|
||||
|
||||
Tkinter est une bibliothèque d'interface graphique, qui permet de créer des fenêtres sous Linux, Windows et Mac.
|
||||
C'est une des plus simples à utiliser en Python.
|
||||
Seulement elle est un peu vieille et trop peu intuitive, d'où ce tutoriel qui peut servir de mini-référence.
|
||||
|
||||
Pour aller plus loin : [TkDocs Tutorial](https://tkdocs.com/tutorial/index.html) (en anglais)
|
||||
|
||||
## Code de base
|
||||
|
||||
|
|
@ -64,7 +72,8 @@ On peut appeler plusieurs fois ces fonctions pour choisir plusieurs lignes et co
|
|||
|
||||
## Widgets
|
||||
|
||||
Tous les widgets peuvent être positionnés avec `grid`, de la même manière que ci-dessus.
|
||||
Tous les widgets doivent être positionnés avec `grid`, de la même manière que ci-dessus.
|
||||
Sans ça, ils ne seront pas affichés !
|
||||
|
||||
### Label
|
||||
|
||||
|
|
@ -128,21 +137,21 @@ text = tk.Text(root)
|
|||
Il y a plusieurs méthodes pour interagir avec le texte :
|
||||
|
||||
```python
|
||||
print(area.get("1.0", "end")) # obtenir tout le texte
|
||||
print(area.get("2.0", "8.0")) # le texte de la ligne 2 à la ligne 8
|
||||
area.replace("1.0", "end", "le nouveau texte") # remplacer du texte
|
||||
area.insert("1.0", "le nouveau texte") # insérer du texte
|
||||
area.insert("1.0 +42 chars", "le nouveau texte")
|
||||
area.insert("end -3 lines", "le nouveau texte")
|
||||
print(text.get("1.0", "end")) # obtenir tout le texte
|
||||
print(text.get("2.0", "8.0")) # le texte de la ligne 2 à la ligne 8
|
||||
text.replace("1.0", "end", "le nouveau texte") # remplacer du texte
|
||||
text.insert("1.0", "le nouveau texte") # insérer du texte
|
||||
text.insert("1.0 +42 chars", "le nouveau texte")
|
||||
text.insert("end -3 lines", "le nouveau texte")
|
||||
```
|
||||
|
||||
Pour mettre en forme certaines parties du texte, on peut utiliser des tags :
|
||||
|
||||
```python
|
||||
area.tag_configure("fond_rouge", background="#ffaaaa")
|
||||
area.tag_configure("insistance", foreground="#008800", underline=True)
|
||||
text.tag_configure("fond_rouge", background="#ffaaaa")
|
||||
text.tag_configure("insistance", foreground="#008800", underline=True)
|
||||
|
||||
area.insert("1.0", "ce texte sera sur fond rouge", "fond_rouge")
|
||||
text.insert("1.0", "ce texte sera sur fond rouge", "fond_rouge")
|
||||
text.tag_add("insistance", "1.3", "1.8")
|
||||
```
|
||||
|
||||
|
|
@ -220,7 +229,7 @@ def onrelease(event):
|
|||
print("On a frappé le clavier !")
|
||||
print(event)
|
||||
|
||||
area.bind("<KeyRelease>", onrelease)
|
||||
text.bind("<KeyRelease>", onrelease)
|
||||
```
|
||||
|
||||
On peut aussi utiliser les infos contenues dans l'événement, par exemple `event.keycode`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue