sebp / sebp/PyGObject-Tutorial

Feedback - PythonGTK 2.1 Simple Example

Ouverte
#214 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
392
Forks
157
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

  1. There is a grammatical error in the text which explains the fact that it is possible to have different GTK libraries installed concurrently. The text states,

"Since a user’s system can have multiple versions of GTK+ installed at the same, we want to make sure that when we import Gtk that it refers to GTK+ 3..."

It should instead read,

"Since a user’s system can have multiple versions of GTK+ installed at the same time, we want to make sure that when we import Gtk that it refers to GTK+ 3..."

  1. One key element not explained in the example is the fact that the preliminary text clearly states, "This program will create an empty 200 x 200 pixel window" (which it does), but there is simply no explanation in the "simple example" to help a reader understand how those specific dimensions were chosen.

I do appreciate that this is the very first example of code you are giving to a reader and also that it is sensible to not overload the reader with too much detail in an initial example. But maybe there is a compromise you would consider... which would be to say something along the lines of: When a window is created without any explicit size defined - as is the case here - GTK will default to using {whatever the correct explanation is}, which we will cover in more detail in Chapter {wherever you are going to cover it}. Don't leave your reader hanging with such an obvious gap...

  1. In the opening section of this documentation, the text notes the following,

"This tutorial gives an introduction to writing GTK+ 3 applications in Python.

Prior to working through this tutorial, it is recommended that you have a reasonable grasp of the Python programming language. GUI programming introduces new problems compared to interacting with the standard output (console / terminal). It is necessary for you to know how to create and run Python files, understand basic interpreter errors, and work with strings, integers, floats and Boolean values. For the more advanced widgets in this tutorial, good knowledge of lists and tuples will be needed."

I hope this doesn't come across as argumentative, but I would respectfully suggest that the concept of signals and callbacks - which you implicitly touch on with the 7th line in the first Hello World example...

win.connect("destroy", Gtk.main_quit)

From the point of technical correctness, I must of course concede that signals and callbacks are part of Python's Object Oriented programming paradigm and are thus not unique to programming for a GUI environment. But I would also argue that signals and callbacks extend beyond "a reasonable grasp of the Python programming language". Specifically, given the significant, explicit dependency that Gtk programming has on these language elements, I would like to suggest that it might be helpful to have an "explainer", somewhere near the beginning of this text, which introduces the key differences between programming for a graphical interface (e.g. event-driven programming) and programming for a command line interface (which is essentially batch or script programming, e.g. program-driven code).

I am still very much in the early stages of this journey and far from being qualified to tell you what to write, but I think a "key differences" 'explainer' would be of real benefit.

Thank you.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la section d’introduction et le PythonGTK 2.1 Simple Example, en repérant les passages cités concernant la version de GTK, la taille de la fenêtre et signal/callback. Examinez la structure du tutoriel autour de ces éléments et déterminez si les explications demandées correspondent au périmètre existant ; le travail est considéré comme terminé lorsque la grammaire est corrigée et que les omissions pertinentes sont traitées de manière cohérente.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
documentation
Type d'issue
Documentation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.