Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
adb817ba
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 搜索 >>
提交
adb817ba
编写于
6月 20, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-20 17:31:45
上级
aa3fb417
变更
25
隐藏空白更改
内联
并排
Showing
25 changed file
with
30 addition
and
30 deletion
+30
-30
docs/graph/12.md
docs/graph/12.md
+2
-2
docs/graph/14.md
docs/graph/14.md
+1
-1
docs/graph/32.md
docs/graph/32.md
+1
-1
docs/graph/37.md
docs/graph/37.md
+1
-1
docs/graph/39.md
docs/graph/39.md
+1
-1
docs/graph/48.md
docs/graph/48.md
+1
-1
docs/graph/51.md
docs/graph/51.md
+1
-1
docs/gui/101.md
docs/gui/101.md
+1
-1
docs/gui/103.md
docs/gui/103.md
+1
-1
docs/gui/109.md
docs/gui/109.md
+1
-1
docs/gui/146.md
docs/gui/146.md
+2
-2
docs/gui/150.md
docs/gui/150.md
+1
-1
docs/gui/168.md
docs/gui/168.md
+1
-1
docs/gui/185.md
docs/gui/185.md
+2
-2
docs/gui/231.md
docs/gui/231.md
+1
-1
docs/gui/255.md
docs/gui/255.md
+1
-1
docs/gui/308.md
docs/gui/308.md
+1
-1
docs/gui/40.md
docs/gui/40.md
+2
-2
docs/gui/44.md
docs/gui/44.md
+1
-1
docs/gui/49.md
docs/gui/49.md
+1
-1
docs/gui/50.md
docs/gui/50.md
+2
-2
docs/gui/55.md
docs/gui/55.md
+1
-1
docs/gui/60.md
docs/gui/60.md
+1
-1
docs/gui/62.md
docs/gui/62.md
+1
-1
docs/gui/71.md
docs/gui/71.md
+1
-1
未找到文件。
docs/graph/12.md
浏览文件 @
adb817ba
...
...
@@ -828,7 +828,7 @@ private void gameInit() {
```
在
`gameInit()`
方法中,我们创建了 24 个外星人。 外星人图像尺寸为
`12x12px`
。 我们在外星人中间放了
`6px`
的空间。 我们还创建了播放器和射击对象。
在
`gameInit()`
方法中,我们创建了 24 个外星人。 外星人图像尺寸为
`12x12px`
。 我们在外星人中间放了
6px
的空间。 我们还创建了播放器和射击对象。
```
private void drawBombing(Graphics g) {
...
...
@@ -969,7 +969,7 @@ if (!bomb.isDestroyed()) {
```
如果炸弹没有被销毁,它将离地面
`1 px`
。 如果到达底部,则设置销毁标志。 外星人现在准备投下另一枚炸弹。
如果炸弹没有被销毁,它将离地面
1px
。 如果到达底部,则设置销毁标志。 外星人现在准备投下另一枚炸弹。
```
public void keyReleased(KeyEvent e) {
...
...
docs/graph/14.md
浏览文件 @
adb817ba
...
...
@@ -612,7 +612,7 @@ for (int i = 0; i < world.size(); i++) {
```
我们遍历世界容器并绘制对象。 播放器和行李图像稍小。 我们在其坐标上添加
`2px`
以使其居中。
我们遍历世界容器并绘制对象。 播放器和行李图像稍小。 我们在其坐标上添加
2px
以使其居中。
```
if (isCompleted) {
...
...
docs/graph/32.md
浏览文件 @
adb817ba
...
...
@@ -487,7 +487,7 @@ cairo_stroke(cr);
```
在此代码示例中,我们绘制具有
`CAIRO_LINE_JOIN_MITER`
连接样式的矩形。 线宽为
`14px`
。
在此代码示例中,我们绘制具有
`CAIRO_LINE_JOIN_MITER`
连接样式的矩形。 线宽为
14px
。
![
Line joins
](
img/f6d9a35c05f398c3a210cb25e78ece73.jpg
)
...
...
docs/graph/37.md
浏览文件 @
adb817ba
...
...
@@ -347,7 +347,7 @@ int main(int argc, char *argv[])
```
盲目效应背后的想法很简单。 图像高度为
`h`
像素。 我们绘制高度为
`1px`
的 0、1、2 ... 线。 每个周期,图像的一部分高
`1px`
,直到整个图像可见为止。
盲目效应背后的想法很简单。 图像高度为
`h`
像素。 我们绘制高度为
1px 的 0、1、2 ... 线。 每个周期,图像的一部分高 1px
,直到整个图像可见为止。
```
struct {
...
...
docs/graph/39.md
浏览文件 @
adb817ba
...
...
@@ -177,7 +177,7 @@ cairo_show_text(cr, "ZetCode");
```
第二个文本用灰色墨水绘制。 它向右和向下移动了
`3px`
。
第二个文本用灰色墨水绘制。 它向右和向下移动了
3px
。
![
Shaded text
](
img/6e39e7c9a2a487bc62938737ac25cc76.jpg
)
...
...
docs/graph/48.md
浏览文件 @
adb817ba
...
...
@@ -310,7 +310,7 @@ if __name__ == "__main__":
```
盲目效应背后的想法很简单。 图像高度为 h 像素。 我们绘制高度为
`1px`
的 0、1、2 ... 线。 每个周期,图像的一部分高
`1px`
,直到整个图像可见为止。
盲目效应背后的想法很简单。 图像高度为 h 像素。 我们绘制高度为
1px 的 0、1、2 ... 线。 每个周期,图像的一部分高 1px
,直到整个图像可见为止。
```
def load_image(self):
...
...
docs/graph/51.md
浏览文件 @
adb817ba
...
...
@@ -157,7 +157,7 @@ cr.show_text("ZetCode")
```
第二个文本用灰色墨水绘制。 它向右和向下移动了
`3px`
。
第二个文本用灰色墨水绘制。 它向右和向下移动了
3px
。
![
Shaded text
](
img/aa48c80d2848ae1dd206e4ed11ddb33c.jpg
)
...
...
docs/gui/101.md
浏览文件 @
adb817ba
...
...
@@ -154,7 +154,7 @@ def __init__(self, parent, title):
```
在构造函数中,我们将
`wx.Frame`
小部件的宽度设置为 350
px。 小部件的高度为 250 像素。
在构造函数中,我们将
`wx.Frame`
小部件的宽度设置为 350px。 小部件的高度为 250 像素。
同样,我们可以将应用放置在屏幕上。 默认情况下,窗口位于屏幕的左上角。 但是在各种 OS 平台甚至窗口管理器上,它可能都不同。 一些窗口管理器自己放置应用窗口。 他们中的一些人做了一些优化,以使窗口不会重叠。 程序员可以以编程方式定位窗口。 我们已经在
`wx.Frame`
小部件的构造函数中看到了
`pos`
参数。 通过提供默认值以外的其他值,我们可以自己控制位置。
...
...
docs/gui/103.md
浏览文件 @
adb817ba
...
...
@@ -323,7 +323,7 @@ vbox.Add((-1, 25))
```
我们已经知道可以通过组合 flag 参数和 border 参数来控制小部件之间的距离。 但是有一个真正的约束。 在
`Add()`
方法中,我们只能为所有给定的边指定一个边框。 在我们的示例中,我们在右侧和左侧分别设置了 10 像素。 但是我们不能给底部 25 像素。 我们可以做的是在底部给 10
px,如果省略
`wx.BOTTOM`
则给 0
px。 因此,如果我们需要不同的值,则可以添加一些额外的空间。 使用
`Add()`
方法,我们也可以插入小部件和空间。
我们已经知道可以通过组合 flag 参数和 border 参数来控制小部件之间的距离。 但是有一个真正的约束。 在
`Add()`
方法中,我们只能为所有给定的边指定一个边框。 在我们的示例中,我们在右侧和左侧分别设置了 10 像素。 但是我们不能给底部 25 像素。 我们可以做的是在底部给 10
px,如果省略
`wx.BOTTOM`
则给 0
px。 因此,如果我们需要不同的值,则可以添加一些额外的空间。 使用
`Add()`
方法,我们也可以插入小部件和空间。
```
py
vbox
.
Add
(
hbox5
,
flag
=
wx
.
ALIGN_RIGHT
|
wx
.
RIGHT
,
border
=
10
)
...
...
docs/gui/109.md
浏览文件 @
adb817ba
...
...
@@ -1318,7 +1318,7 @@ Figure: Set operations on regions
|
`wx.MM_POINTS`
| 1 点,1/72 英寸 |
|
`wx.MM_TWIPS`
| 点的 1/20 或 1/1440 英寸 |
默认的映射模式是
`wx.MM_TEXT`
。 在此模式下,逻辑单元与设备单元相同。 人们将对象放置在屏幕上或设计网页时,他们通常以像素为单位思考。 Web 设计人员创建三列页面,这些列以像素为单位设置。 页面的最低公分母通常是 800
px 等。这种想法很自然,因为我们知道我们的显示器具有 1024x768 像素 我们不打算进行转换,而是习惯于以像素为单位进行思考。 如果要以毫米为单位绘制结构,则可以使用两种度量映射模式。 对于屏幕而言,以毫米为单位直接绘制太厚了,这就是为什么我们要使用
`wx.MM_LOMETRIC`
映射模式。
默认的映射模式是
`wx.MM_TEXT`
。 在此模式下,逻辑单元与设备单元相同。 人们将对象放置在屏幕上或设计网页时,他们通常以像素为单位思考。 Web 设计人员创建三列页面,这些列以像素为单位设置。 页面的最低公分母通常是 800px 等。这种想法很自然,因为我们知道我们的显示器具有 1024x768 像素 我们不打算进行转换,而是习惯于以像素为单位进行思考。 如果要以毫米为单位绘制结构,则可以使用两种度量映射模式。 对于屏幕而言,以毫米为单位直接绘制太厚了,这就是为什么我们要使用
`wx.MM_LOMETRIC`
映射模式。
要设置不同的映射模式,我们使用
`SetMapMode()`
方法。
...
...
docs/gui/146.md
浏览文件 @
adb817ba
...
...
@@ -137,7 +137,7 @@ vbox->setSpacing(1);
```
我们创建
`QVBoxLayout`
并在子窗口小部件之间设置 1
px 的间距。
我们创建
`QVBoxLayout`
并在子窗口小部件之间设置 1px 的间距。
```
QPushButton *settings = new QPushButton("Settings", this);
...
...
@@ -623,7 +623,7 @@ grid->setSpacing(2);
```
我们创建网格布局,并在子小部件之间设置 2
px 的空间。
我们创建网格布局,并在子小部件之间设置 2px 的空间。
```
QList<QString> values({ "7", "8", "9", "/",
...
...
docs/gui/150.md
浏览文件 @
adb817ba
...
...
@@ -105,7 +105,7 @@ qp->setPen(pen);
```
我们创建一个
`QPen`
对象。 笔是实心的,2
px 粗,是黑色的。 笔用于绘制线条和形状轮廓。 使用
`setPen()`
方法将笔设置为画家对象。
我们创建一个
`QPen`
对象。 笔是实心的,2px 粗,是黑色的。 笔用于绘制线条和形状轮廓。 使用
`setPen()`
方法将笔设置为画家对象。
```
qp->drawLine(20, 40, 250, 40);
...
...
docs/gui/168.md
浏览文件 @
adb817ba
...
...
@@ -346,7 +346,7 @@ grid .fr.area -row 1 -column 0 -columnspan 2 \
```
`text`
小部件已创建,并从第二行第一列开始。 它跨越
`2`
列和
`4`
行。 小部件和根窗口的左边界之间有
`4px`
空间。 最后,它坚持所有四个方面。 因此,调整窗口大小时,
`text`
小部件会向各个方向扩展。
`text`
小部件已创建,并从第二行第一列开始。 它跨越
`2`
列和
`4`
行。 小部件和根窗口的左边界之间有
4px
空间。 最后,它坚持所有四个方面。 因此,调整窗口大小时,
`text`
小部件会向各个方向扩展。
```
grid columnconfigure .fr 1 -weight 1
...
...
docs/gui/185.md
浏览文件 @
adb817ba
...
...
@@ -57,7 +57,7 @@ Size = new Size(250, 200);
```
`Text`
和
`Size`
是表单的属性。 更改这些属性,我们将修改表单控件。 第一行在表单控件的标题栏中显示文本“ Simple”。 第二行将表单的大小设置为 250x200
px。
`Text`
和
`Size`
是表单的属性。 更改这些属性,我们将修改表单控件。 第一行在表单控件的标题栏中显示文本“ Simple”。 第二行将表单的大小设置为 250x200px。
```
CenterToScreen();
...
...
@@ -212,7 +212,7 @@ button.Parent = this;
```
注意
`Button`
控件的创建。
`Text`
属性是按钮的标签。
`Location`
属性将按钮放在 x = 30,y = 70
px 坐标的表单上。 最后,
`Parent`
属性确定按钮所在的容器。
注意
`Button`
控件的创建。
`Text`
属性是按钮的标签。
`Location`
属性将按钮放在 x = 30,y = 70px 坐标的表单上。 最后,
`Parent`
属性确定按钮所在的容器。
![
Tooltips
](
img/1384d0bc53cc8ce4de528552b995e2b0.jpg
)
...
...
docs/gui/231.md
浏览文件 @
adb817ba
...
...
@@ -390,7 +390,7 @@ table.ColumnSpacing = 3;
```
该示例基于
`Table`
容器。 列之间将有 3
px 的间距。
该示例基于
`Table`
容器。 列之间将有 3px 的间距。
```
Label title = new Label("Windows");
...
...
docs/gui/255.md
浏览文件 @
adb817ba
...
...
@@ -423,7 +423,7 @@ table.set_col_spacings(3)
```
该示例基于
`Table`
容器。 列之间将有 3
px 的间距。
该示例基于
`Table`
容器。 列之间将有 3px 的间距。
```
title = gtk.Label("Windows")
...
...
docs/gui/308.md
浏览文件 @
adb817ba
...
...
@@ -205,7 +205,7 @@ button.Location = Point(50, 70)
```
注意
`Button`
控件的创建。
`Parent`
属性确定按钮所在的容器。
`Text`
属性是按钮的标签。
`Location`
属性将按钮放在表单上的 x = 30,y = 70
px 坐标处。
注意
`Button`
控件的创建。
`Parent`
属性确定按钮所在的容器。
`Text`
属性是按钮的标签。
`Location`
属性将按钮放在表单上的 x = 30,y = 70px 坐标处。
![
Tooltips
](
img/cdbd4f95c38e1912d3b3908a31216f7c.jpg
)
...
...
docs/gui/40.md
浏览文件 @
adb817ba
...
...
@@ -136,7 +136,7 @@ vbox->setSpacing(1);
```
我们创建
`QVBoxLayout`
并在子窗口小部件之间设置 1
px 的间距。
我们创建
`QVBoxLayout`
并在子窗口小部件之间设置 1px 的间距。
```
cpp
QPushButton
*
settings
=
new
QPushButton
(
"Settings"
,
this
);
...
...
@@ -620,7 +620,7 @@ grid->setSpacing(2);
```
我们创建网格布局,并在子小部件之间设置 2
px 的空间。
我们创建网格布局,并在子小部件之间设置 2px 的空间。
```
cpp
QList
<
QString
>
values
({
"7"
,
"8"
,
"9"
,
"/"
,
...
...
docs/gui/44.md
浏览文件 @
adb817ba
...
...
@@ -106,7 +106,7 @@ qp->setPen(pen);
```
我们创建一个
`QPen`
对象。 笔是实心的,2
px 粗,是黑色的。 笔用于绘制线条和形状轮廓。 使用
`setPen()`
方法将笔设置为画家对象。
我们创建一个
`QPen`
对象。 笔是实心的,2px 粗,是黑色的。 笔用于绘制线条和形状轮廓。 使用
`setPen()`
方法将笔设置为画家对象。
```
cpp
qp
->
drawLine
(
20
,
40
,
250
,
40
);
...
...
docs/gui/49.md
浏览文件 @
adb817ba
...
...
@@ -342,7 +342,7 @@ quitButton.place(x=50, y=50)
```
我们使用
`place`
几何图形管理器将按钮定位在绝对坐标中-从窗口的左上角起 50x50
px。
我们使用
`place`
几何图形管理器将按钮定位在绝对坐标中-从窗口的左上角起 50x50px。
![
Quit button
](
img/a055854eab71b983ad90d73d43455852.jpg
)
...
...
docs/gui/50.md
浏览文件 @
adb817ba
...
...
@@ -214,7 +214,7 @@ okButton.pack(side=RIGHT)
```
`okButton`
放在
`closeButton`
旁边,它们之间有 5
px 的间距。
`okButton`
放在
`closeButton`
旁边,它们之间有 5px 的间距。
![
Buttons example
](
img/f6d894af5ff066f7db22dbbfdd93851e.jpg
)
...
...
@@ -587,7 +587,7 @@ area.grid(row=1, column=0, columnspan=2, rowspan=4,
```
文本窗口小部件已创建,并从第二行和第一列开始。 它跨越两列和四行。 小部件和根窗口的左边框之间有 4
px 的间距。 最终,小部件将粘在所有四个方面。 因此,调整窗口大小时,文本小部件会向各个方向扩展。
文本窗口小部件已创建,并从第二行和第一列开始。 它跨越两列和四行。 小部件和根窗口的左边框之间有 4px 的间距。 最终,小部件将粘在所有四个方面。 因此,调整窗口大小时,文本小部件会向各个方向扩展。
```
py
abtn
=
Button
(
self
,
text
=
"Activate"
)
...
...
docs/gui/55.md
浏览文件 @
adb817ba
...
...
@@ -72,7 +72,7 @@ canvas.create_line(300, 35, 300, 200, dash=(4, 2))
```
画一条垂直线。
`dash`
选项指定线条的虚线图案。 我们有一条线,由 4
px 虚线和 2
px 间隔的交替部分组成。
画一条垂直线。
`dash`
选项指定线条的虚线图案。 我们有一条线,由 4
px 虚线和 2
px 间隔的交替部分组成。
```
py
canvas
.
create_line
(
55
,
85
,
155
,
85
,
105
,
180
,
55
,
85
)
...
...
docs/gui/60.md
浏览文件 @
adb817ba
...
...
@@ -286,7 +286,7 @@ public class FrameIconEx extends JFrame {
```
`ImageIcon`
用于创建图标。
`web.png`
是一个 22x22
px 的小图像文件。
`ImageIcon`
用于创建图标。
`web.png`
是一个 22x22px 的小图像文件。
```
java
var
webIcon
=
new
ImageIcon
(
"src/resources/web.png"
);
...
...
docs/gui/62.md
浏览文件 @
adb817ba
...
...
@@ -413,7 +413,7 @@ driveBtn.setBorder(new EmptyBorder(3, 0, 3, 0));
```
为了在按钮周围留一些空白,我们必须使用
`EmptyBorder`
。 这会在按钮的顶部和底部增加一些固定的空间。 当我们添加固定空间时,UI 不可移植。 3
px 的空间在 1280x720 的屏幕上可能看起来不错,但在 1920x1200
px 的屏幕上不合适。
为了在按钮周围留一些空白,我们必须使用
`EmptyBorder`
。 这会在按钮的顶部和底部增加一些固定的空间。 当我们添加固定空间时,UI 不可移植。 3
px 的空间在 1280x720 的屏幕上可能看起来不错,但在 1920x1200
px 的屏幕上不合适。
```
java
add
(
vertical
,
BorderLayout
.
WEST
);
...
...
docs/gui/71.md
浏览文件 @
adb817ba
...
...
@@ -540,7 +540,7 @@ case Cursor.N_RESIZE_CURSOR:
```
对于所有大小调整,我们确保该组件不小于 50
px。 否则,我们可以将其减小到最终将其隐藏的程度。
`setBounds()`
方法重新定位组件并调整其大小。
对于所有大小调整,我们确保该组件不小于 50px。 否则,我们可以将其减小到最终将其隐藏的程度。
`setBounds()`
方法重新定位组件并调整其大小。
![
Resizable component
](
img/a99d62c6e29cd6cd196145bb95948798.jpg
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录