Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
60b2a675
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
8 个月 前同步成功
通知
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 搜索 >>
提交
60b2a675
编写于
6月 21, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-21 15:06:43
上级
b28adec2
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
52 addition
and
52 deletion
+52
-52
docs/gui/133.md
docs/gui/133.md
+1
-1
docs/gui/134.md
docs/gui/134.md
+2
-2
docs/gui/162.md
docs/gui/162.md
+3
-3
docs/gui/191.md
docs/gui/191.md
+5
-5
docs/gui/213.md
docs/gui/213.md
+1
-1
docs/gui/27.md
docs/gui/27.md
+1
-1
docs/gui/28.md
docs/gui/28.md
+1
-1
docs/gui/281.md
docs/gui/281.md
+1
-1
docs/gui/291.md
docs/gui/291.md
+1
-1
docs/gui/300.md
docs/gui/300.md
+1
-1
docs/gui/312.md
docs/gui/312.md
+2
-2
docs/gui/313.md
docs/gui/313.md
+4
-4
docs/gui/315.md
docs/gui/315.md
+6
-6
docs/gui/317.md
docs/gui/317.md
+1
-1
docs/gui/318.md
docs/gui/318.md
+10
-10
docs/gui/319.md
docs/gui/319.md
+7
-7
docs/gui/345.md
docs/gui/345.md
+5
-5
未找到文件。
docs/gui/133.md
浏览文件 @
60b2a675
...
...
@@ -78,7 +78,7 @@ lbl.setPixmap(pixmap)
## `QtGui.QLineEdit`
`QtGui.QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。 该小部件具有撤消和重做,剪切和粘贴以及拖
动&放置
功能。
`QtGui.QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。 该小部件具有撤消和重做,剪切和粘贴以及拖
放
功能。
```
#!/usr/bin/python
...
...
docs/gui/134.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pyqt4/dragdrop/](http://zetcode.com/gui/pyqt4/dragdrop/)
在 PyQt4 教程的这一部分中,我们将讨论拖
动&放置
操作。
在 PyQt4 教程的这一部分中,我们将讨论拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。
...
...
@@ -222,7 +222,7 @@ if __name__ == '__main__':
```
在我们的代码示例中,窗口上有一个
`QtGui.QPushButton`
。 如果我们用鼠标左键单击该按钮,则会在控制台上显示“按”消息。 通过右键单击并移动按钮,我们在按钮小部件上执行拖放
&拖放
操作。
在我们的代码示例中,窗口上有一个
`QtGui.QPushButton`
。 如果我们用鼠标左键单击该按钮,则会在控制台上显示“按”消息。 通过右键单击并移动按钮,我们在按钮小部件上执行拖放操作。
```
class Button(QtGui.QPushButton):
...
...
docs/gui/162.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pysidetutorial/dragdrop/](http://zetcode.com/gui/pysidetutorial/dragdrop/)
在 PySide 教程的这一部分中,我们将讨论拖
动&放置
操作。
在 PySide 教程的这一部分中,我们将讨论拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。 (维基百科)
...
...
@@ -218,7 +218,7 @@ if __name__ == '__main__':
```
在我们的代码示例中,窗口上有一个
`QtGui.QPushButton`
。 如果我们用鼠标左键单击该按钮,则会在控制台上打印“按”。 通过右键单击并移动按钮,我们在按钮小部件上执行拖放
&拖放
操作。
在我们的代码示例中,窗口上有一个
`QtGui.QPushButton`
。 如果我们用鼠标左键单击该按钮,则会在控制台上打印“按”。 通过右键单击并移动按钮,我们在按钮小部件上执行拖放操作。
```
class Button(QtGui.QPushButton):
...
...
@@ -228,7 +228,7 @@ class Button(QtGui.QPushButton):
```
我们创建一个
`Button`
类,该类将从
`QtGui.QPushButton`
派生。 我们还重新实现了
`QtGui.QPushButton`
的两种方法
`mouseMoveEvent()`
和
`mousePressEvent()`
。
`mouseMoveEvent()`
方法是拖
动&放置
操作开始的地方。
我们创建一个
`Button`
类,该类将从
`QtGui.QPushButton`
派生。 我们还重新实现了
`QtGui.QPushButton`
的两种方法
`mouseMoveEvent()`
和
`mousePressEvent()`
。
`mouseMoveEvent()`
方法是拖
放
操作开始的地方。
```
if event.buttons() != QtCore.Qt.RightButton:
...
...
docs/gui/191.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/csharpwinforms/dragdrop/](http://zetcode.com/gui/csharpwinforms/dragdrop/)
Mono Winforms 教程的这一部分将专门用于拖
动&放置
操作。
Mono Winforms 教程的这一部分将专门用于拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。 (维基百科)
...
...
@@ -123,9 +123,9 @@ Figure: Dragging a button
## 拖动文字
在前面的示例中,我们确实拖放了控件。 接下来,我们将对文本数据进行拖放
&拖放操作。 在这里,我们将使用 Winforms 库提供的拖放&
拖放协议。
在前面的示例中,我们确实拖放了控件。 接下来,我们将对文本数据进行拖放
操作。 在这里,我们将使用 Winforms 库提供的
拖放协议。
拖
动&放置
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。 拖动源和放置目标。
拖
放
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。 拖动源和放置目标。
`dragtext.cs`
...
...
@@ -236,7 +236,7 @@ private void OnMouseDown(object sender, MouseEventArgs e)
```
在
`OnMouseDown()`
方法中,我们初始化了拖放过程。 我们使用
`DoDragDrop()`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖
动&放置
操作期间复制文本或移动文本。
在
`OnMouseDown()`
方法中,我们初始化了拖放过程。 我们使用
`DoDragDrop()`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖
放
操作期间复制文本或移动文本。
```
private void OnDragEnter(object sender, DragEventArgs e)
...
...
@@ -402,4 +402,4 @@ Refresh();
我们必须调用
`Refresh()`
方法来激活新的画笔颜色。
本章专门使用 Mono Winforms 库拖动&放置操作。
\ No newline at end of file
本章专门使用 Mono Winforms 库拖放操作。
\ No newline at end of file
docs/gui/213.md
浏览文件 @
60b2a675
...
...
@@ -225,7 +225,7 @@ Figure: QLabel
## `QLineEdit`
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
动&放置
功能。
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
放
功能。
```
package
com
.
zetcode
;
...
...
docs/gui/27.md
浏览文件 @
60b2a675
...
...
@@ -79,7 +79,7 @@ lbl.setPixmap(pixmap)
## `QLineEdit`
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。 该小部件具有撤消和重做,剪切和粘贴以及拖
动&放置
功能。
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。 该小部件具有撤消和重做,剪切和粘贴以及拖
放
功能。
`lineedit.py`
...
...
docs/gui/28.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pyqt5/dragdrop/](http://zetcode.com/gui/pyqt5/dragdrop/)
在 PyQt5 教程的这一部分中,我们将讨论拖
动&放置
操作。
在 PyQt5 教程的这一部分中,我们将讨论拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。
...
...
docs/gui/281.md
浏览文件 @
60b2a675
...
...
@@ -230,7 +230,7 @@ Figure: QLabel
## `QLineEdit`
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
动&放置
功能。
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
放
功能。
```
using System;
...
...
docs/gui/291.md
浏览文件 @
60b2a675
...
...
@@ -210,7 +210,7 @@ Figure: Qt::Label
## `Qt::LineEdit`
`Qt::LineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`Qt::LineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
动&放置
功能。
`Qt::LineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`Qt::LineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
放
功能。
```
#!/usr/bin/ruby
...
...
docs/gui/300.md
浏览文件 @
60b2a675
...
...
@@ -225,7 +225,7 @@ Figure: QLabel
## `QLineEdit`
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
动&放置
功能。
`QLineEdit`
是一个小部件,允许输入和编辑单行纯文本。
`QLineEdit`
小部件具有撤消/重做,剪切/粘贴和拖
放
功能。
```
' ZetCode Mono Visual Basic Qt tutorial
...
...
docs/gui/312.md
浏览文件 @
60b2a675
...
...
@@ -6,7 +6,7 @@
## `RadioButton`
与其他
RadioButton
控件配对时,
`RadioButton`
控件使用户能够从一组选项中选择一个选项。
`GroupBox`
控件用于将单选按钮配对在一起。
与其他
`RadioButton`
控件配对时,
`RadioButton`
控件使用户能够从一组选项中选择一个选项。
`GroupBox`
控件用于将单选按钮配对在一起。
`radiobutton.py`
...
...
@@ -76,7 +76,7 @@ male.Parent = gb
```
创建带有文本“
Male
”的
`RadioButton`
控件。 它的父级是组框控件。
创建带有文本“
`Male`
”的
`RadioButton`
控件。 它的父级是组框控件。
```
def OnChanged(self, sender, event):
...
...
docs/gui/313.md
浏览文件 @
60b2a675
...
...
@@ -185,7 +185,7 @@ name.Width = -1
```
对于列表视图中的每一列,我们创建一个
`ColumnHeader`
。 通过将
`Width`
设置为-1,列的宽度等于列中最长的项目。
对于列表视图中的每一列,我们创建一个
`ColumnHeader`
。 通过将
`Width`
设置为
-1,列的宽度等于列中最长的项目。
```
lv = ListView()
...
...
@@ -469,14 +469,14 @@ self.tv.Scrollable = True
```
我们使
treeview
控件可滚动,因为该控件显示了大量目录。
我们使
`TreeView`
控件可滚动,因为该控件显示了大量目录。
```
self.ShowDirectories(self.tv.Nodes, HOME_DIR)
```
`ShowDirectories()`
方法使用指定主目录中可用的目录填充
treview
控件的节点。
`ShowDirectories()`
方法使用指定主目录中可用的目录填充
`TreeView`
控件的节点。
```
if (subDirs.Length > 0):
...
...
@@ -500,7 +500,7 @@ trvNode.Add(tr)
```
此代码行实际上将目录添加到
treeview
控件。
此代码行实际上将目录添加到
`TreeView`
控件。
```
def OnExpand(self, sender, event):
...
...
docs/gui/315.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/tutorials/ironpythontutorial/dragdrop/](http://zetcode.com/tutorials/ironpythontutorial/dragdrop/)
IronPython Mono Winforms 教程的这一部分将专门用于拖
动&放置
操作。
IronPython Mono Winforms 教程的这一部分将专门用于拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。 (维基百科)
...
...
@@ -101,9 +101,9 @@ Figure: Dragging a button
## 拖动文字
在前面的示例中,我们确实拖动了控件上的&拖放。 接下来,我们将对文本数据进行拖放
&拖放操作。 在这里,我们将使用 Winforms 库提供的拖放&
拖放协议。
在前面的示例中,我们确实拖动了控件上的&拖放。 接下来,我们将对文本数据进行拖放
操作。 在这里,我们将使用 Winforms 库提供的
拖放协议。
拖
动&放置
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。 拖动源和放置目标。
拖
放
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。 拖动源和放置目标。
`dragtext.py`
...
...
@@ -163,7 +163,7 @@ self.AllowDrop = True
```
我们将
`AllowDrop`
属性设置为
true
。 默认情况下不启用删除。
我们将
`AllowDrop`
属性设置为
`true`
。 默认情况下不启用删除。
```
button.DragDrop += self.OnDragDrop
...
...
@@ -182,7 +182,7 @@ def OnMousDown(self, sender, event):
```
在
`OnMousDown()`
方法中,我们初始化了
drap &放置过程。 我们使用
`DoDragDrop()`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖动&放置
操作期间复制文本或移动文本。
在
`OnMousDown()`
方法中,我们初始化了
拖放过程。 我们使用
`DoDragDrop()`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖放
操作期间复制文本或移动文本。
```
def OnDragEnter(self, sender, event):
...
...
@@ -330,4 +330,4 @@ self.Refresh()
Figure: Drag & drop image
本章专门使用 Mono Winforms 库拖动&放置操作。
\ No newline at end of file
本章专门使用 Mono Winforms 库拖放操作。
\ No newline at end of file
docs/gui/317.md
浏览文件 @
60b2a675
...
...
@@ -334,7 +334,7 @@ Figure: Gradients
## 等待
在此示例中,我们使用透明效果创建一个等待演示。 我们将绘制 8 条线,这些线将逐渐消失,从而产生一种错觉,即一条线在移动。 这种效果通常用于通知用户,一项艰巨的任务正在幕后进行。 一个示例是通过
Internet
流式传输视频。
在此示例中,我们使用透明效果创建一个等待演示。 我们将绘制 8 条线,这些线将逐渐消失,从而产生一种错觉,即一条线在移动。 这种效果通常用于通知用户,一项艰巨的任务正在幕后进行。 一个示例是通过
互联网
流式传输视频。
`waiting.py`
...
...
docs/gui/318.md
浏览文件 @
60b2a675
# IronPython Mono Winforms 中的
Snake
# IronPython Mono Winforms 中的
贪食蛇
> 原文: [http://zetcode.com/tutorials/ironpythontutorial/snake/](http://zetcode.com/tutorials/ironpythontutorial/snake/)
在 Mono IronPython Winforms 编程教程的这一部分中,我们将创建一个
Snake
游戏克隆。
在 Mono IronPython Winforms 编程教程的这一部分中,我们将创建一个
贪食蛇
游戏克隆。
##
Snake
游戏
##
贪食蛇
游戏
Snake
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
贪食蛇
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
## 开发
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示
Game Over
消息。
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示
`Game Over`
消息。
`board.py`
...
...
@@ -200,7 +200,7 @@ class Board(UserControl):
首先,我们将定义游戏中使用的常量。
`WIDTH`
和
`HEIGHT`
常数确定电路板的大小。
`DOT_SIZE`
是苹果的大小和蛇的点。
`ALL_DOTS`
常数定义了板上可能的最大点数。 (
900 = 300
* 300/10 *
10
)
`RAND_POS`
常数用于计算苹果的随机位置。
`DELAY`
常数确定游戏的速度。
`WIDTH`
和
`HEIGHT`
常数确定电路板的大小。
`DOT_SIZE`
是苹果的大小和蛇的点。
`ALL_DOTS`
常数定义了板上可能的最大点数。 (
`900 = 300 * 300 / 10 * 10`
)
`RAND_POS`
常数用于计算苹果的随机位置。
`DELAY`
常数确定游戏的速度。
```
x = [0] * ALL_DOTS
...
...
@@ -264,7 +264,7 @@ r = rand.Next(RAND_POS)
```
我们得到一个从 0 到
RAND_POS-1
的随机数。
我们得到一个从 0 到
`RAND_POS-1`
的随机数。
```
self.apple_x = r * DOT_SIZE
...
...
@@ -273,7 +273,7 @@ self.apple_y = r * DOT_SIZE
```
这些行设置了
apple
对象的 x,y 坐标。
这些行设置了
`apple`
对象的 x,y 坐标。
在
`OnKeyUp()`
方法中,我们确定了键击玩家击键的时间。
...
...
@@ -285,7 +285,7 @@ if key == Keys.Left and not self.right:
```
如果我们按左光标键,则将
`self.left`
变量设置为
True
。 在
`move()`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
如果我们按左光标键,则将
`self.left`
变量设置为
`True`
。 在
`move()`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
`snake.py`
...
...
@@ -341,4 +341,4 @@ board.TITLEBAR_HEIGHT = titleBarHeight
Figure: Snake
这是使用 Iron Win 编程语言的 Mono Winforms 库编程的 Snake 游戏。
\ No newline at end of file
这是使用 Iron Win 编程语言的 Mono Winforms 库编程的贪食蛇游戏。
\ No newline at end of file
docs/gui/319.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> [http://zetcode.com/tutorials/ironpythontutorial/tetris/](http://zetcode.com/tutorials/ironpythontutorial/tetris/)
俄罗斯方块游戏是有史以来最受欢迎的计算机游戏之一。 原始游戏是由俄罗斯程序员 Alexey Pajitnov 于 1985 年设计和编程的。此后,几乎所有版本的几乎所有计算机平台上都可以使用
Tetris
。 甚至我的手机都有俄罗斯方块游戏的修改版。
俄罗斯方块游戏是有史以来最受欢迎的计算机游戏之一。 原始游戏是由俄罗斯程序员 Alexey Pajitnov 于 1985 年设计和编程的。此后,几乎所有版本的几乎所有计算机平台上都可以使用
俄罗斯方块
。 甚至我的手机都有俄罗斯方块游戏的修改版。
俄罗斯方块被称为下降块益智游戏。 在这个游戏中,我们有七个不同的形状,称为 tetrominoes 。 S 形,Z 形,T 形,L 形,线形,镜像 L 形和正方形。 这些形状中的每一个都形成有四个正方形。 形状从板上掉下来。 俄罗斯方块游戏的目的是移动和旋转形状,以便它们尽可能地适合。 如果我们设法形成一行,则该行将被破坏并得分。 我们玩俄罗斯方块游戏,直到达到顶峰。
...
...
@@ -416,7 +416,7 @@ Application.Run(IForm())
```
我对游戏做了一些简化,以便于理解。 游戏启动后立即开始。 我们可以通过按
p 键暂停游戏。
`空格键`
将把俄罗斯方块放在底部。
`d`
键会将棋子下降一行。 (它可以用来加快下降速度。)游戏以恒定速度运行,没有实现加速。 分数是我们已删除的行数。
我对游戏做了一些简化,以便于理解。 游戏启动后立即开始。 我们可以通过按
`p`
键暂停游戏。 空格键
将把俄罗斯方块放在底部。
`d`
键会将棋子下降一行。 (它可以用来加快下降速度。)游戏以恒定速度运行,没有实现加速。 分数是我们已删除的行数。
```
class Tetrominoes(object):
...
...
@@ -492,7 +492,7 @@ elif key == Keys.Left:
如果按向左箭头键,我们将尝试将棋子向左移动。 我们说尝试,因为这片可能无法移动。
在
`TryMove()`
方法中,我们尝试移动形状。 如果无法移动该片段,则返回
False
。
在
`TryMove()`
方法中,我们尝试移动形状。 如果无法移动该片段,则返回
`False`
。
```
for i in range(4):
...
...
@@ -505,7 +505,7 @@ for i in range(4):
```
如果形状在板的边缘或与其他零件相邻,则返回
False
。
如果形状在板的边缘或与其他零件相邻,则返回
`False`
。
```
self.curPiece = newPiece
...
...
@@ -516,7 +516,7 @@ return True
```
否则,我们将当前的下降片放到新位置并返回
True
。
否则,我们将当前的下降片放到新位置并返回
`True`
。
```
def OnTick(self, sender, event):
...
...
@@ -575,7 +575,7 @@ def NewPiece(self):
```
`NewPiece()`
方法随机创建一个新的俄罗斯方块。 如果棋子无法进入其初始位置,例如
`TryMove()`
方法返回
False
,游戏结束。
`NewPiece()`
方法随机创建一个新的俄罗斯方块。 如果棋子无法进入其初始位置,例如
`TryMove()`
方法返回
`False`
,游戏结束。
```
colors = [ (0, 0, 0), (204, 102, 102),
...
...
@@ -606,7 +606,7 @@ self.coords = [[0,0] for i in range(4)]
```
创建后,我们将创建一个空坐标列表。 该列表将保存俄罗斯方块的坐标。 例如,这些元组(0,-1),(0,0),(1
、0),(1、
1)表示旋转的 S 形。 下图说明了形状。
创建后,我们将创建一个空坐标列表。 该列表将保存俄罗斯方块的坐标。 例如,这些元组(0,-1),(0,0),(1
,0),(1,
1)表示旋转的 S 形。 下图说明了形状。
![
Coordinates
](
img/f916788516714877eb20948c2d93e033.jpg
)
...
...
docs/gui/345.md
浏览文件 @
60b2a675
...
...
@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/vbwinforms/dragdrop/](http://zetcode.com/gui/vbwinforms/dragdrop/)
Mono Visual Basic Winforms 教程的这一部分将专门用于拖
动&放置
操作。
Mono Visual Basic Winforms 教程的这一部分将专门用于拖
放
操作。
在计算机图形用户界面中,拖放是单击虚拟对象并将其拖动到其他位置或另一个虚拟对象上的动作(或支持以下动作)。 通常,它可用于调用多种动作,或在两个抽象对象之间创建各种类型的关联。 (维基百科)
...
...
@@ -125,9 +125,9 @@ Figure: Dragging a button
## 拖动文字
在前面的示例中,我们确实拖动了控件上的&拖放。 接下来,我们将对文本数据进行拖放
&拖放操作。 在这里,我们将使用 Winforms 库提供的拖放&
拖放协议。
在前面的示例中,我们确实拖动了控件上的&拖放。 接下来,我们将对文本数据进行拖放
操作。 在这里,我们将使用 Winforms 库提供的
拖放协议。
拖
动&放置
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。
`drag source`
和
`drop target`
。
拖
放
操作是 Winforms 中的标准通信协议。 我们有两个基本对象。
`drag source`
和
`drop target`
。
```
' ZetCode Mono Visual Basic Winforms tutorial
...
...
@@ -242,7 +242,7 @@ End Sub
```
在
`OnMouseDown`
方法中,我们初始化了
drap &放置过程。 我们使用
`DoDragDrop`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖动&放置
操作期间复制文本或移动文本。
在
`OnMouseDown`
方法中,我们初始化了
拖放过程。 我们使用
`DoDragDrop`
方法启动该过程。
`DragDropEffects.Copy`
参数指定操作的类型。 实质上,我们可以在拖放
操作期间复制文本或移动文本。
![
Drag & drop of text
](
img/31cffdc8b2c808edd87369b61750d143.jpg
)
...
...
@@ -408,4 +408,4 @@ Me.Refresh
Figure: Drag & drop image
本章致力于使用带有 Visual Basic 语言的 Mono Winforms 库拖动&放置操作。
\ No newline at end of file
本章致力于使用带有 Visual Basic 语言的 Mono Winforms 库拖放操作。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录