sebp / sebp/PyGObject-Tutorial

Feedback - PythonGTK 2.1 Simple Example

未关闭
#214 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
392
派生
157
PR 合并指标
30 天内没有已合并 PR

描述

  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.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从开头部分和 PythonGTK 2.1 Simple Example 开始,定位引用的有关 GTK 版本、窗口大小和 signal/callback 的段落。检查周围的教程结构,并判断所要求的解释是否符合现有范围;完成意味着语法已得到修正,相关遗漏也已得到一致处理。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
documentation
Issue 类型
文档
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。