Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
e86836da
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
9 个月 前同步成功
通知
2
Star
157
Fork
40
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zetcode-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e86836da
编写于
6月 21, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-21 14:28:22
上级
65093fe1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
19 addition
and
19 deletion
+19
-19
docs/gui/260.md
docs/gui/260.md
+1
-1
docs/gui/261.md
docs/gui/261.md
+2
-2
docs/gui/263.md
docs/gui/263.md
+1
-1
docs/gui/265.md
docs/gui/265.md
+1
-1
docs/gui/267.md
docs/gui/267.md
+11
-11
docs/gui/268.md
docs/gui/268.md
+3
-3
未找到文件。
docs/gui/260.md
浏览文件 @
e86836da
...
...
@@ -310,7 +310,7 @@ red.connect("clicked", self.onred)
```
`ToggleButton`
小部件已创建。 我们将其大小设置为
80x35
像素。 每个切换按钮都有其自己的处理程序方法。
`ToggleButton`
小部件已创建。 我们将其大小设置为
`80x35`
像素。 每个切换按钮都有其自己的处理程序方法。
```
self.darea = gtk.DrawingArea()
...
...
docs/gui/261.md
浏览文件 @
e86836da
...
...
@@ -153,7 +153,7 @@ def create_store(self):
```
`create_store()`
方法创建一个
`ListStore`
。 它是
`IconView`
小部件中使用的数据模型。 它带有三个参数。 目录名,图标的
pixbuf
图像和
`bool`
变量,指示我们是目录还是文件。
`create_store()`
方法创建一个
`ListStore`
。 它是
`IconView`
小部件中使用的数据模型。 它带有三个参数。 目录名,图标的
`pixbuf`
图像和
`bool`
变量,指示我们是目录还是文件。
```
if not fl[0] == '.':
...
...
@@ -341,7 +341,7 @@ treeView.append_column(column)
```
在
`create_columns()`
方法中,我们向
`TreeView`
小部件中添加了三列。 上面的代码创建了一个显示女演员姓名的列。
`CellRendererText`
从树模型的第一列检索其文本。 (文本
= 0
)
在
`create_columns()`
方法中,我们向
`TreeView`
小部件中添加了三列。 上面的代码创建了一个显示女演员姓名的列。
`CellRendererText`
从树模型的第一列检索其文本。 (文本
`= 0`
)
```
def
on_activated
(
self
,
widget
,
row
,
col
):
...
...
docs/gui/263.md
浏览文件 @
e86836da
...
...
@@ -239,7 +239,7 @@ gtk.main()
```
我们在
azbuka
中显示一些文本。
我们在
西里尔字母
中显示一些文本。
```
# -*- coding: utf-8 -*-
...
...
docs/gui/265.md
浏览文件 @
e86836da
...
...
@@ -87,7 +87,7 @@ cr = widget.window.cairo_create()
```
我们从绘图区域的
`gdk.Window`
创建 cairo 上下文对象。 上下文是用于在所有
Drawable
对象上绘制的对象。
我们从绘图区域的
`gdk.Window`
创建 cairo 上下文对象。 上下文是用于在所有
`Drawable`
对象上绘制的对象。
```
cr.set_line_width(9)
...
...
docs/gui/267.md
浏览文件 @
e86836da
# PyGTK 中的
Snake
游戏
# PyGTK 中的
贪食蛇
游戏
> 原文: [http://zetcode.com/gui/pygtk/snake/](http://zetcode.com/gui/pygtk/snake/)
在 PyGTK 编程教程的这一部分中,我们将创建一个
Snake
游戏克隆。
在 PyGTK 编程教程的这一部分中,我们将创建一个
贪食蛇
游戏克隆。
##
Snake
游戏
##
贪食蛇
游戏
Snake
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
贪食蛇
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
## 开发
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示“
Game Over
”消息。
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示“
`Game Over`
”消息。
`snake.py`
...
...
@@ -300,7 +300,7 @@ r = random.randint(0, RAND_POS)
```
我们得到一个从 0 到
RAND_POS-1
的随机数。
我们得到一个从 0 到
`RAND_POS-1`
的随机数。
```
self.apple_x = r * DOT_SIZE
...
...
@@ -309,7 +309,7 @@ self.apple_y = r * DOT_SIZE
```
这些行设置了
apple
对象的 x,y 坐标。
这些行设置了
`apple`
对象的 x,y 坐标。
```
self.connect("key-press-event", self.on_key_down)
...
...
@@ -322,9 +322,9 @@ def on_key_down(self, widget, event):
```
我们在
Snake 类中捕获按键事件,并将处理委托给 board
对象。
我们在
`Snake`
类中捕获按键事件,并将处理委托给
`board`
对象。
在
Board
类的
`on_key_dow()`
方法中,我们确定玩家按下了哪些键。
在
`Board`
类的
`on_key_dow()`
方法中,我们确定玩家按下了哪些键。
```
if key == gtk.keysyms.Left and not self.right:
...
...
@@ -334,10 +334,10 @@ if key == gtk.keysyms.Left and not self.right:
```
如果我们按左光标键,则将
`self.left`
变量设置为
True
。 在
`move()`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
如果我们按左光标键,则将
`self.left`
变量设置为
`True`
。 在
`move()`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
![
Snake
](
img/b55f26e633df9e8f51abf09e0b390b86.jpg
)
Figure: Snake
这是使用 PyGTK 编程库编程的 Snake 电脑游戏。
\ No newline at end of file
这是使用 PyGTK 编程库编程的贪食蛇电脑游戏。
\ No newline at end of file
docs/gui/268.md
浏览文件 @
e86836da
...
...
@@ -8,7 +8,7 @@
## 刻录小部件
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero
Burning
ROM)中找到此小部件。
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero
烧录
ROM)中找到此小部件。
`burning.py`
...
...
@@ -154,7 +154,7 @@ self.cur_width = self.par.get_cur_value()
```
这两行从
scale
小部件获取当前数字。 我们获得父窗口小部件,并从父窗口小部件中获得当前值。
这两行从
刻度
小部件获取当前数字。 我们获得父窗口小部件,并从父窗口小部件中获得当前值。
```
till = (width / 750.0) * self.cur_width
...
...
@@ -162,7 +162,7 @@ full = (width / 750.0) * 700
```
直到参数确定要绘制的总大小。 该值来自滑块小部件。 它占整个面积的一部分。
full
参数确定了我们开始绘制红色的点。
直到参数确定要绘制的总大小。 该值来自滑块小部件。 它占整个面积的一部分。
`full`
参数确定了我们开始绘制红色的点。
```
cr.set_source_rgb(1.0, 1.0, 0.72)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录