Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Feedback - PythonGTK 2.1 Simple Example

Aberta
#214 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Documentação
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
documentation

Direção de pesquisa

Comece pela seção introdutória e pelo PythonGTK 2.1 Simple Example, localizando as passagens citadas sobre a versão do GTK, o tamanho da janela e signal/callback. Revise a estrutura do tutorial ao redor e decida se as explicações solicitadas se encaixam no escopo existente; considera-se concluído quando a gramática estiver corrigida e as omissões relevantes forem tratadas de forma consistente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

  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.

Linguagem predominante
Python
Estrelas
392
Forks
157
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de sebp/PyGObject-Tutorial

Todas as issues de sebp/PyGObject-Tutorial

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.