QCM : Introduction à la programmation GUI avec Tkinter — 11 questions

Questions et réponses du QCM

1. Dans une interface graphique, quel rôle joue principalement la boucle mainloop() ?

Exécuter le programme ligne par ligne jusqu’à la fin
Créer automatiquement tous les widgets de la fenêtre
Maintenir l’application active et écouter les événements
Transformer un script procédural en classe Python

Maintenir l’application active et écouter les événements

Explication

La mainloop() lance la boucle d’écoute qui garde l’interface réactive tant que la fenêtre existe. Elle ne remplace pas la création des widgets ni l’exécution linéaire d’un script procédural.

2. Qu'est-ce que le paradigme événementiel dans le contexte des interfaces graphiques? 1. Une approche où l'interface réagit aux actions de l'utilisateur plutôt que d'exécuter un script linéaire. 2. La méthode d'exécution séquentielle des instructions pour créer une fenêtre. 3. Un mode de programmation basé sur l'exécution automatique de scripts sans interaction. 4. La technique d'utiliser des événements pour détruire automatiquement la fenêtre après affichage.

La technique d'utiliser des événements pour détruire automatiquement la fenêtre après affichage.
La méthode d'exécution séquentielle des instructions pour créer une fenêtre.
Un mode de programmation basé sur l'exécution automatique de scripts sans interaction.
Une approche où l'interface réagit aux actions de l'utilisateur plutôt que d'exécuter un script linéaire.

Une approche où l'interface réagit aux actions de l'utilisateur plutôt que d'exécuter un script linéaire.

Explication

Le paradigme événementiel consiste à faire en sorte que l'interface graphique réagisse aux actions de l'utilisateur, contrairement à un script procédural qui s'exécute en ligne droite.

3. Quelle affirmation décrit le mieux la programmation événementielle ?

L’interface réagit uniquement lorsqu’un événement survient
Le programme suit une suite d’instructions sans attendre l’utilisateur
Le code s’arrête dès qu’une fenêtre est affichée
Les actions utilisateur sont traitées avant l’affichage de la fenêtre

L’interface réagit uniquement lorsqu’un événement survient

Explication

La programmation événementielle fait réagir l’interface à des événements comme un clic ou une frappe clavier. À l’inverse, un script procédural déroule ses instructions de façon séquentielle.

4. Quelle est la fonction principale de la boucle mainloop() dans une interface graphique Tkinter ?

Elle ferme la fenêtre dès que l'utilisateur clique sur un bouton.
Elle initialise tous les widgets de l'interface lors du lancement.
Elle permet de rafraîchir l'interface toutes les secondes.
Elle maintient la fenêtre active et à l'écoute des événements jusqu'à sa fermeture.

Elle maintient la fenêtre active et à l'écoute des événements jusqu'à sa fermeture.

Explication

La fonction mainloop() lance la boucle d'écoute des événements, conservant la fenêtre ouverte et réactive jusqu'à sa fermeture.

5. Quelle instruction crée la fenêtre principale de Tkinter, appelée racine ?

root = tk.mainloop()
root = tk.Tk()
root = tk.Toplevel()
root = ttk.Frame()

root = tk.Tk()

Explication

tk.Tk() instancie la fenêtre principale, qui sert de point de départ à l’interface. tk.Toplevel() crée plutôt une fenêtre secondaire.

6. Quelle est la fonction principale de la fonction tk.Tk() dans la création d'une interface graphique Tkinter ?

Créer la fenêtre principale de l'application.
Lancer la boucle d'événements infinie.
Fermer la fenêtre de l'application.
Ajouter un widget à la fenêtre.

Créer la fenêtre principale de l'application.

Explication

tk.Tk() instancie la fenêtre principale (racine) de l'application, servant de conteneur à tous les autres widgets.

7. Que fait l’appel root.mainloop() dans une application Tkinter ?

Il lance la boucle d’événements et bloque jusqu’à la fermeture
Il dimensionne automatiquement la fenêtre principale
Il ajoute tous les widgets à la racine
Il remplace la nécessité d’appeler title()

Il lance la boucle d’événements et bloque jusqu’à la fermeture

Explication

root.mainloop() démarre la boucle principale qui traite les événements et maintient l’application en attente d’interactions. Elle bloque l’exécution du programme jusqu’à fermeture de la fenêtre.

8. Quand a été introduit le module ttk en tant que surcouche modernisée de Tkinter pour améliorer l'apparence des widgets sous Python ?

Depuis Python 3.8
Depuis Python 3.5
Depuis Python 2.0
Depuis Python 3.1

Depuis Python 3.1

Explication

Le module ttk a été intégré dans Python à partir de la version 3.1 pour fournir des widgets au style natif et plus moderne.

9. En quoi le widget ttk.Treeview diffère-t-il principalement d'un widget tk.Listbox lors de l'affichage de données ?

Le Treeview ne permet pas d'insérer de nouvelles lignes après sa création, contrairement au Listbox.
Le Listbox offre une meilleure personnalisation du style que le Treeview.
Le ttk.Treeview ne peut pas être intégré dans une grille, tandis que le Listbox peut.
Le ttk.Treeview permet d'afficher des données sous forme de colonnes avec en-têtes, contrairement au Listbox qui affiche une liste simple.

Le ttk.Treeview permet d'afficher des données sous forme de colonnes avec en-têtes, contrairement au Listbox qui affiche une liste simple.

Explication

Le ttk.Treeview est conçu pour afficher des données structurées sous forme de tableau avec colonnes et en-têtes, ce que le Listbox ne propose pas. Les autres propositions sont incorrectes : le Treeview peut être intégré dans une grille, il permet d’insérer des lignes à tout moment, et sa personnalisation est souvent plus avancée avec ttk.

10. Qui est crédité pour avoir développé le widget Treeview utilisé dans Tkinter pour afficher des données sous forme de tableau ?

Leodhas Mac Conamhna
Guido van Rossum
Kenneth R. Barker
Michael H. Goldwasser

Kenneth R. Barker

Explication

Kenneth R. Barker est crédité pour avoir développé le widget Treeview dans Tkinter, permettant d'afficher des données structurées en colonnes. Guido van Rossum est le créateur de Python, mais pas spécifiquement de Treeview.

11. Quelles sont les causes principales qui expliquent la nécessité de respecter la règle d’or entre pack et grid sans mélange dans la conception d’une interface Tkinter ?

Pour éviter les conflits de gestion de la disposition, qui peuvent entraîner des erreurs ou un comportement imprévisible de l'interface.
Parce que l’utilisation simultanée de pack et grid dans le même parent simplifie le débogage et la maintenance du code.
Pour forcer l’utilisation conjointe des deux gestionnaires dans un même parent, ce qui optimise la réactivité.
Parce que pack et grid utilisent la même logique de positionnement, ce qui peut rendre le code difficile à lire.

Pour éviter les conflits de gestion de la disposition, qui peuvent entraîner des erreurs ou un comportement imprévisible de l'interface.

Explication

La règle d’or existe pour éviter les conflits internes entre pack et grid, qui ne peuvent pas coexister dans un même conteneur et peuvent provoquer des bugs ou des blocages de l’interface.

Révisez avec les flashcards

Mémorisez les réponses avec 9 flashcards sur Introduction à la programmation GUI avec Tkinter.

Paradigme événementiel — rôle ?

Réagit aux actions utilisateur plutôt que d'exécuter un script linéaire.

Programmation événementielle: définition

Interface réagit aux actions utilisateur.

mainloop — fonction ?

Boucle d’écoute infinie qui maintient l’interface active.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à la programmation GUI avec Tkinter.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM