Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
4e9d85ff
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 搜索 >>
提交
4e9d85ff
编写于
6月 22, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-22 11:39:56
上级
8090f419
变更
53
隐藏空白更改
内联
并排
Showing
53 changed file
with
118 addition
and
118 deletion
+118
-118
docs/db/69.md
docs/db/69.md
+1
-1
docs/dotnet/132.md
docs/dotnet/132.md
+1
-1
docs/dotnet/88.md
docs/dotnet/88.md
+1
-1
docs/graph/10.md
docs/graph/10.md
+1
-1
docs/graph/22.md
docs/graph/22.md
+1
-1
docs/graph/27.md
docs/graph/27.md
+1
-1
docs/graph/38.md
docs/graph/38.md
+1
-1
docs/graph/43.md
docs/graph/43.md
+1
-1
docs/graph/50.md
docs/graph/50.md
+1
-1
docs/gui/102.md
docs/gui/102.md
+2
-2
docs/gui/103.md
docs/gui/103.md
+11
-11
docs/gui/104.md
docs/gui/104.md
+3
-3
docs/gui/107.md
docs/gui/107.md
+6
-6
docs/gui/108.md
docs/gui/108.md
+1
-1
docs/gui/112.md
docs/gui/112.md
+2
-2
docs/gui/114.md
docs/gui/114.md
+1
-1
docs/gui/125.md
docs/gui/125.md
+1
-1
docs/gui/137.md
docs/gui/137.md
+1
-1
docs/gui/139.md
docs/gui/139.md
+3
-3
docs/gui/153.md
docs/gui/153.md
+1
-1
docs/gui/165.md
docs/gui/165.md
+1
-1
docs/gui/166.md
docs/gui/166.md
+1
-1
docs/gui/19.md
docs/gui/19.md
+15
-15
docs/gui/195.md
docs/gui/195.md
+1
-1
docs/gui/2.md
docs/gui/2.md
+4
-4
docs/gui/229.md
docs/gui/229.md
+1
-1
docs/gui/253.md
docs/gui/253.md
+1
-1
docs/gui/3.md
docs/gui/3.md
+1
-1
docs/gui/31.md
docs/gui/31.md
+1
-1
docs/gui/319.md
docs/gui/319.md
+2
-2
docs/gui/32.md
docs/gui/32.md
+2
-2
docs/gui/33.md
docs/gui/33.md
+3
-3
docs/gui/48.md
docs/gui/48.md
+1
-1
docs/gui/5.md
docs/gui/5.md
+1
-1
docs/gui/59.md
docs/gui/59.md
+4
-4
docs/gui/61.md
docs/gui/61.md
+9
-9
docs/gui/62.md
docs/gui/62.md
+1
-1
docs/gui/67.md
docs/gui/67.md
+4
-4
docs/gui/70.md
docs/gui/70.md
+2
-2
docs/gui/73.md
docs/gui/73.md
+1
-1
docs/gui/77.md
docs/gui/77.md
+8
-8
docs/gui/98.md
docs/gui/98.md
+1
-1
docs/java/3.md
docs/java/3.md
+1
-1
docs/java/38.md
docs/java/38.md
+1
-1
docs/java/66.md
docs/java/66.md
+1
-1
docs/misc/103.md
docs/misc/103.md
+2
-2
docs/misc/130.md
docs/misc/130.md
+1
-1
docs/php/171.md
docs/php/171.md
+1
-1
docs/php/182.md
docs/php/182.md
+1
-1
docs/ruby/72.md
docs/ruby/72.md
+1
-1
docs/spring-boot/55.md
docs/spring-boot/55.md
+1
-1
docs/spring/31.md
docs/spring/31.md
+1
-1
docs/symfony/102.md
docs/symfony/102.md
+1
-1
未找到文件。
docs/db/69.md
浏览文件 @
4e9d85ff
...
...
@@ -453,7 +453,7 @@ $ dmcs datagridview.cs -r:System.Data.dll -r:System.Drawing.dll
```
要编译该示例,我们必须包含其他 DLL。 用于 SQLite 数据供应器,Winforms,
工程
图和数据的 DLL。
要编译该示例,我们必须包含其他 DLL。 用于 SQLite 数据供应器,Winforms,
绘
图和数据的 DLL。
![
DataGridView
](
img/7f8cb15b7e635b83fc1c6158b71e7769.jpg
)
...
...
docs/dotnet/132.md
浏览文件 @
4e9d85ff
...
...
@@ -69,7 +69,7 @@ Visual Studio Code 是一种轻量级,功能强大的现代源代码编辑器
它包括对调试,嵌入式 Git 控制,语法突出显示,智能代码完成,代码段和代码重构的支持。
##
资料
来源
##
数据
来源
以下资源用于创建本教程:
...
...
docs/dotnet/88.md
浏览文件 @
4e9d85ff
...
...
@@ -66,7 +66,7 @@ This is Visual Basic
要运行示例,请单击
`Ctrl + F5`
。
##
资料
来源
##
数据
来源
以下三个资源用于创建本教程:
...
...
docs/graph/10.md
浏览文件 @
4e9d85ff
...
...
@@ -16,7 +16,7 @@
## 开发
使用 Swing 绘画 API 绘制四
聚体
。 我们使用
`java.util.Timer`
创建游戏周期。 形状以正方形为单位移动(而不是逐个像素移动)。 从数学上讲,游戏中的棋盘是一个简单的数字列表。
使用 Swing 绘画 API 绘制四
方块
。 我们使用
`java.util.Timer`
创建游戏周期。 形状以正方形为单位移动(而不是逐个像素移动)。 从数学上讲,游戏中的棋盘是一个简单的数字列表。
游戏启动后立即开始。 我们可以通过按
`p`
键暂停游戏。 空格键将把俄罗斯方块放在底部。
`d`
键将片段向下一行。 (它可以用来加快下降速度。)游戏以恒定速度运行,没有实现加速。 分数是我们已删除的行数。
...
...
docs/graph/22.md
浏览文件 @
4e9d85ff
...
...
@@ -4,7 +4,7 @@
在 Java 2D 编程教程的这一部分中,我们将讨论变换。
仿射变换由零个或多个线性变换(旋转,缩放或剪切)和平移(移位)组成。 几个线性变换可以组合成一个矩阵。 旋转是使刚体绕固定点移动的变换。 缩放是一种放大或缩小对象的变换。 比例因子在所有方向上都是相同的。 平移是使每个点在指定方向上移动恒定距离的变换。 剪切是一种使对象垂直于给定轴移动的变换,该值在轴的一侧比另一侧更大。
资料
来源:(wikipedia.org,freedictionary.com)
仿射变换由零个或多个线性变换(旋转,缩放或剪切)和平移(移位)组成。 几个线性变换可以组合成一个矩阵。 旋转是使刚体绕固定点移动的变换。 缩放是一种放大或缩小对象的变换。 比例因子在所有方向上都是相同的。 平移是使每个点在指定方向上移动恒定距离的变换。 剪切是一种使对象垂直于给定轴移动的变换,该值在轴的一侧比另一侧更大。
数据
来源:(wikipedia.org,freedictionary.com)
`AffineTransform`
是 Java 2D 中用于执行仿射变换的类。
...
...
docs/graph/27.md
浏览文件 @
4e9d85ff
...
...
@@ -21,7 +21,7 @@
游戏背后的一些想法。
*
我们使用计时器类创建游戏周期
*
绘制四
个形状
*
绘制四
方块
*
形状以正方形为单位移动(不是逐个像素移动)
*
从数学上讲,棋盘是简单的数字列表
...
...
docs/graph/38.md
浏览文件 @
4e9d85ff
...
...
@@ -6,7 +6,7 @@
仿射变换由零个或多个线性变换(旋转,缩放或剪切)和平移(移位)组成。 几个线性变换可以组合成一个矩阵。 旋转是使刚体绕固定点移动的变换。 缩放比例是一种放大或缩小对象的变换。 比例因子在所有方向上都是相同的。 变换是一种变换,可以使每个点在指定方向上移动恒定的距离。 剪切是一种将对象垂直于给定轴移动的变换,该值在轴的一侧比另一侧更大。
资料
来源:(wikipedia.org,freedictionary.com)
数据
来源:(wikipedia.org,freedictionary.com)
## 平移
...
...
docs/graph/43.md
浏览文件 @
4e9d85ff
...
...
@@ -46,6 +46,6 @@ Cairo 支持各种后端。 后端是用于显示创建的图形的输出设备
模式代表在表面上绘制时的光源。 在 PyCairo 中,图案是您可以读取的东西,用作绘制操作的源或蒙版。 图案可以是实心的,基于表面的或渐变的。
##
资料
来源
##
数据
来源
为了创建本教程,我们使用了以下材料。
[
Apple Cocoa 制图指南
](
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.html
)
,
[
PyCairo 参考
](
http://cairographics.org/documentation/pycairo/2/index.html
)
和
[
Cairo 文档
](
http://cairographics.org/documentation/
)
。
\ No newline at end of file
docs/graph/50.md
浏览文件 @
4e9d85ff
...
...
@@ -6,7 +6,7 @@
仿射变换由零个或多个线性变换(旋转,缩放或剪切)和平移(移位)组成。 几个线性变换可以组合成一个矩阵。 旋转是使刚体绕固定点移动的变换。 缩放比例是一种放大或缩小对象的变换。 比例因子在所有方向上都是相同的。 平移是一种变换,可以使每个点在指定方向上移动恒定的距离。 剪切是一种将对象垂直于给定轴移动的变换,该值在轴的一侧比另一侧更大。
资料
来源:(wikipedia.org,freedictionary.com)
数据
来源:(wikipedia.org,freedictionary.com)
## 平移
...
...
docs/gui/102.md
浏览文件 @
4e9d85ff
...
...
@@ -303,8 +303,8 @@ fileMenu.AppendMenu(wx.ID_ANY, 'I&mport', imp)
有树形菜单项。
*
普通项目
*
检查
项目
*
广播
项目
*
复选
项目
*
单选
项目
在下面的示例中,我们将演示复选菜单项。 复选菜单项在菜单中由刻度线直观地表示。
...
...
docs/gui/103.md
浏览文件 @
4e9d85ff
...
...
@@ -119,10 +119,10 @@ self.mincol.SetPosition((20, 20))
使用
`flag`
参数,您可以进一步在
`wx.BoxSizer`
中配置小部件的行为。 我们可以控制小部件之间的边界。 我们在小部件之间添加一些像素间距。 为了应用边框,我们需要定义要使用边框的边。 我们可以将它们与
`|`
运算符结合使用; 例如
`wx.LEFT | wx.BOTTOM`
。 我们可以在这些标志之间进行选择:
*
左
*
右
*
底部
*
顶部
*
`wx.LEFT`
*
`wx.RIGHT`
*
`wx.TOP`
*
`wx.BOTTOM`
*
`wx.ALL`
通过
`setSizer()`
方法将大小调整器设置为面板小部件。
...
...
@@ -190,13 +190,13 @@ vbox.Add(midPan, wx.ID_ANY, wx.EXPAND | wx.ALL, 20)
如果我们使用
`wx.EXPAND`
标志,则我们的窗口小部件将使用分配给它的所有空间。 最后,我们还可以定义小部件的对齐方式。 我们使用以下标志来实现:
*
wx.ALIGN_LEFT
*
wx.ALIGN_RIGHT
*
wx.ALIGN_TOP
*
wx.ALIGN_BOTTOM
*
wx.ALIGN_CENTER_VERTICAL
*
wx.ALIGN_CENTER_HORIZONTAL
*
wx.ALIGN_CENTER
*
`wx.ALIGN_LEFT`
*
`wx.ALIGN_RIGHT`
*
`wx.ALIGN_TOP`
*
`wx.ALIGN_BOTTOM`
*
`wx.ALIGN_CENTER_VERTICAL`
*
`wx.ALIGN_CENTER_HORIZONTAL`
*
`wx.ALIGN_CENTER`
![
Border around a panel
](
img/9d3b1be5e9604c27a153b74813bbef91.jpg
)
...
...
docs/gui/104.md
浏览文件 @
4e9d85ff
...
...
@@ -805,9 +805,9 @@ def OnKillFocus(self, e):
当我们按下键盘上的一个键时,会生成一个
`wx.KeyEvent`
。 此事件发送到当前具有焦点的窗口小部件。 共有三种不同的密钥处理器:
*
wx.EVT_KEY_DOWN
*
wx.EVT_KEY_UP
*
wx.EVT_CHAR
*
`wx.EVT_KEY_DOWN`
*
`wx.EVT_KEY_UP`
*
`wx.EVT_CHAR`
常见的请求是在按下
`Esc`
键时关闭应用。
...
...
docs/gui/107.md
浏览文件 @
4e9d85ff
...
...
@@ -690,12 +690,12 @@ Mixins 是进一步增强`wx.ListCtrl`功能的类。 它们位于`wx.lib.mixins
有六个 mixin:
*
wx.ColumnSorterMixin
*
wx.ListCtrlAutoWidthMixin
*
wx.ListCtrlSelectionManagerMix
*
wx.TextEditMixin
*
wx.CheckListCtrlMixin
*
wx.ListRowHighlighter
*
`wx.ColumnSorterMixin`
*
`wx.ListCtrlAutoWidthMixin`
*
`wx.ListCtrlSelectionManagerMix`
*
`wx.TextEditMixin`
*
`wx.CheckListCtrlMixin`
*
`wx.ListRowHighlighter`
`wx.ColumnSorterMixin`
是一个混合器,可以对报表视图中的列进行排序。
`wx.ListCtrlAutoWidthMixin`
类自动将最后一列的大小调整为
`wx.ListCtrl`
的末尾。 默认情况下,最后一列不占用剩余空间。 请参阅前面的示例。
`wx.ListCtrlSelectionManagerMix`
定义了平台无关的选择策略。
`wx.TextEditMixin`
可以编辑文本。
`wx.CheckListCtrlMixin`
向每行添加一个复选框。 这样我们可以控制行。 我们可以将每一行设置为选中或取消选中。
`wx.ListRowHighlighter`
处理
`wx.ListCtrl`
中交替行的自动背景突出显示。
...
...
docs/gui/108.md
浏览文件 @
4e9d85ff
...
...
@@ -9,7 +9,7 @@
在拖放操作中,我们将一些数据从数据源拖动到数据目标。 所以我们必须有:
*
一些数据
*
资料
来源
*
数据
来源
*
数据目标
在 wxPython 中,我们有两个预定义的数据目标:
`wx.TextDropTarget`
和
`wx.FileDropTarget`
。
...
...
docs/gui/112.md
浏览文件 @
4e9d85ff
...
...
@@ -14,12 +14,12 @@ wxPython 是旨在创建应用的工具包。 还有其他一些旨在创建计
## 开发
我们的俄罗斯方块游戏没有图像,我们使用 wxPython 中提供的绘图 API 绘制四
聚体
。 每个计算机游戏的背后都有一个数学模型。 俄罗斯方块也是如此。
我们的俄罗斯方块游戏没有图像,我们使用 wxPython 中提供的绘图 API 绘制四
方块
。 每个计算机游戏的背后都有一个数学模型。 俄罗斯方块也是如此。
游戏背后的一些想法:
*
我们使用
`wx.Timer`
创建游戏周期
*
绘制四
个形状
*
绘制四
方块
*
形状以正方形为单位移动(不是逐个像素移动)
*
从数学上讲,棋盘是简单的数字列表
...
...
docs/gui/114.md
浏览文件 @
4e9d85ff
...
...
@@ -88,7 +88,7 @@ Glib version: 2.40.2
这是
`version`
程序的输出。
##
资料
来源
##
数据
来源
*
[
gtk.org
](
http://www.gtk.org
)
*
[
gtkforums.com
](
http://www.gtkforums.com
)
...
...
docs/gui/125.md
浏览文件 @
4e9d85ff
...
...
@@ -17,7 +17,7 @@
*
[
小部件
](
widgets/
)
*
[
小部件 II
](
widgets2/
)
*
[
拖放
](
dragdrop/
)
*
[
工程
图
](
drawing/
)
*
[
绘
图
](
drawing/
)
*
[
自定义小部件
](
customwidgets/
)
*
[
俄罗斯方块游戏
](
thetetrisgame/
)
...
...
docs/gui/137.md
浏览文件 @
4e9d85ff
...
...
@@ -25,7 +25,7 @@ PyQt4 是旨在创建应用的工具包。 还有其他一些旨在创建计算
游戏背后的一些想法:
*
我们使用
`QtCore.QBasicTimer()`
创建游戏周期。
*
绘制四
聚体
。
*
绘制四
方块
。
*
形状以正方形为单位移动(而不是逐个像素移动)。
*
从数学上讲,棋盘是一个简单的数字列表。
...
...
docs/gui/139.md
浏览文件 @
4e9d85ff
...
...
@@ -12,7 +12,7 @@ Qt 是一个跨平台的应用开发框架。 使用 Qt 开发的一些知名应
## 下载并解压缩
我们转到
[
download.qt.io/official_releases/qt/
](
http://download.qt.io/official_releases/qt/
)
页面。 (由于下载链接过去经常更改,因此您可能需要用 Google 搜索当前链接。)我们选择最新的 Qt 4.x 来源。 在创建本教程时,最新的
资料
是 Qt 4.8.7。 接下来,我们将从源代码安装 Qt。
我们转到
[
download.qt.io/official_releases/qt/
](
http://download.qt.io/official_releases/qt/
)
页面。 (由于下载链接过去经常更改,因此您可能需要用 Google 搜索当前链接。)我们选择最新的 Qt 4.x 来源。 在创建本教程时,最新的
数据
是 Qt 4.8.7。 接下来,我们将从源代码安装 Qt。
```
cpp
$
ls
qt
-
everywhere
-
opensource
-
src
-
4.8.7
.
tar
.
gz
...
...
@@ -48,8 +48,8 @@ $ cd qt-everywhere-opensource-src-4.8.7/
我们以经典方式安装库。 在 Unix 系统上,软件的安装分为三个步骤。
*
组态
*
建造
*
配置
*
构建
*
安装
```
cpp
...
...
docs/gui/153.md
浏览文件 @
4e9d85ff
...
...
@@ -17,7 +17,7 @@
*
[
小部件
](
widgets/
)
*
[
小部件 II
](
widgets2/
)
*
[
拖放
](
dragdrop/
)
*
[
工程
图
](
drawing/
)
*
[
绘
图
](
drawing/
)
*
[
自定义小部件
](
customwidgets/
)
*
[
俄罗斯方块游戏
](
thetetrisgame/
)
...
...
docs/gui/165.md
浏览文件 @
4e9d85ff
...
...
@@ -23,7 +23,7 @@ PySide 是旨在创建应用的工具包。 还有其他一些旨在创建计算
游戏背后的一些想法:
*
我们使用
`QtCore.QBasicTimer()`
创建游戏周期。
*
绘制四
聚体
。
*
绘制四
方块
。
*
形状以正方形为单位移动(而不是逐个像素移动)。
*
从数学上讲,棋盘是一个简单的数字列表。
...
...
docs/gui/166.md
浏览文件 @
4e9d85ff
...
...
@@ -13,7 +13,7 @@
*
[
小部件
](
widgets/
)
*
[
菜单和工具栏
](
menustoolbars/
)
*
[
对话框
](
dialogs/
)
*
[
工程
图
](
drawing/
)
*
[
绘
图
](
drawing/
)
*
[
贪食蛇
](
nibbles/
)
...
...
docs/gui/19.md
浏览文件 @
4e9d85ff
...
...
@@ -23,21 +23,21 @@ $ sudo pip3 install pyqt5
PyQt5 的类分为几个模块,包括以下模块:
*
QtCore
*
QtGui
*
Qt 小部件
*
Qt 多媒体
*
Qt 蓝牙
*
QtNetwork
*
Qt 定位
*
恩吉尼奥
*
QtWebSockets
*
QtWebKit
*
QtWebKitWidgets
*
QtXml
*
QtSvg
*
QtSql
*
QtTest
*
`QtCore`
*
`QtGui`
*
`QtWidgets`
*
`QtMultimedia`
*
`QtBluetooth`
*
`QtNetwork`
*
`QtPositioning`
*
Enginio
*
`QtWebSockets`
*
`QtWebKit`
*
`QtWebKitWidgets`
*
`QtXml`
*
`QtSvg`
*
`QtSql`
*
`QtTest`
`QtCore`
模块包含核心的非 GUI 功能。 该模块用于处理时间,文件和目录,各种数据类型,流,URL,mime 类型,线程或进程。
`QtGui`
包含用于窗口系统集成,事件处理,2D 图形,基本图像,字体和文本的类。
`QtWidgets`
模块包含的类提供了一组 UI 元素,以创建经典的桌面样式用户界面。
`QtMultimedia`
包含用于处理多媒体内容的类和用于访问相机和收音机功能的 API。
...
...
docs/gui/195.md
浏览文件 @
4e9d85ff
...
...
@@ -49,7 +49,7 @@ $ pwd
在 JDeveloper 中创建新项目时,需要将
`gtk-4.0.jar`
添加到项目库中。 从这一点来看,运行应用很简单。
##
资料
来源
##
数据
来源
*
[
java-gnome.sourceforge.net
](
http://java-gnome.sourceforge.net
)
*
[
wikipedia.org
](
http://wikipedia.org
)
...
...
docs/gui/2.md
浏览文件 @
4e9d85ff
...
...
@@ -8,15 +8,15 @@
*
[
简介
](
introduction/
)
*
[
主要功能
](
main/
)
*
[
系统
功能
](
system/
)
*
[
`main`函数
](
main/
)
*
[
系统
函数
](
system/
)
*
[
字符串
](
strings/
)
*
[
日期&时间
](
datetime/
)
*
[
窗口
](
window/
)
*
[
用户界面
](
firststeps/
)
的第一步
*
[
用户界面
的第一步
](
firststeps/
)
*
[
菜单
](
menus/
)
*
[
对话框
](
dialogs/
)
*
[
控
制我
](
controls/
)
*
[
控
件 I
](
controls/
)
*
[
控件 II
](
controlsII/
)
*
[
控件 III
](
controlsIII/
)
*
[
高级控件
](
advancedcontrols/
)
...
...
docs/gui/229.md
浏览文件 @
4e9d85ff
...
...
@@ -36,7 +36,7 @@ $ gmcs -pkg:gtk-sharp-2.0 -r:/usr/lib/mono/2.0/Mono.Cairo.dll application.cs
上一行编译了一个也使用 Cario 库的 GTK# 应用。
##
资料
来源
##
数据
来源
*
[
go-mono.com
](
http://www.go-mono.com
)
*
[
wikipedia.org
](
http://wwww.wikipedia.org
)
...
...
docs/gui/253.md
浏览文件 @
4e9d85ff
...
...
@@ -28,7 +28,7 @@ PyGTK 由几个模块组成。
Gnome 和 XFce 桌面环境已使用 GTK+ 库创建。 SWT 和 wxWidgets 是使用 GTK+ 的众所周知的编程框架。 使用 GTK+ 的著名软件应用包括 Firefox 或 Inkscape。
##
资料
来源
##
数据
来源
*
[
pygtk.org
](
http://www.pygtk.org
)
*
[
wikipedia.org
](
http://wwww.wikipedia.org
)
\ No newline at end of file
docs/gui/3.md
浏览文件 @
4e9d85ff
...
...
@@ -16,7 +16,7 @@ Windows API 可以分为几个区域:
*
用户界面
*
多媒体
*
Windows 外壳
*
联网
*
互
联网
基本服务提供对 Windows 上基本资源的访问。 这些包括文件系统,设备,进程,线程,注册表或错误处理。安全区域提供功能,接口,对象和其他编程元素,用于认证,授权,加密和其他与安全相关的任务。图形子系统提供了将图形内容输出到监视器,打印机和其他输出设备的功能。用户界面提供创建窗口和控件的功能。多媒体组件提供了用于处理视频,声音和输入设备的工具。 Windows Shell 界面的功能允许应用访问操作系统外壳提供的功能。网络服务提供对 Windows OS 网络功能的访问。
...
...
docs/gui/31.md
浏览文件 @
4e9d85ff
...
...
@@ -25,7 +25,7 @@ PyQt5 是旨在创建应用的工具包。 还有其他一些旨在创建计算
游戏背后的一些想法:
*
我们使用
`QtCore.QBasicTimer()`
创建游戏周期。
*
绘制四
聚体
。
*
绘制四
方块
。
*
形状以正方形为单位移动(而不是逐个像素移动)。
*
从数学上讲,棋盘是一个简单的数字列表。
...
...
docs/gui/319.md
浏览文件 @
4e9d85ff
...
...
@@ -12,12 +12,12 @@
## 开发
我们的俄罗斯方块游戏没有图像,我们使用 Winforms 库中可用的绘图 API 绘制四
聚体
。 每个计算机游戏的背后都有一个数学模型。 在俄罗斯方块中也是如此。
我们的俄罗斯方块游戏没有图像,我们使用 Winforms 库中可用的绘图 API 绘制四
方块
。 每个计算机游戏的背后都有一个数学模型。 在俄罗斯方块中也是如此。
游戏背后的一些想法。
*
我们使用
`Timer`
创建游戏周期
*
绘制四
个形状
*
绘制四
方块
*
形状以正方形为单位移动(不是逐个像素移动)
*
从数学上讲,棋盘是简单的数字列表
...
...
docs/gui/32.md
浏览文件 @
4e9d85ff
...
...
@@ -20,8 +20,8 @@
*
[
小部件 II
](
widgets2/
)
*
[
绘图
](
painting/
)
*
[
自定义小部件
](
customwidget/
)
*
[
蛇游戏
](
snake/
)
*
[
突破
游戏
](
breakoutgame/
)
*
[
贪食
蛇游戏
](
snake/
)
*
[
打砖块
游戏
](
breakoutgame/
)
## Qt
...
...
docs/gui/33.md
浏览文件 @
4e9d85ff
...
...
@@ -12,7 +12,7 @@ Qt 是一个跨平台的应用开发框架。 使用 Qt 开发的一些知名应
## 下载并解压缩
我们转到
[
download.qt.io/official_releases/qt/
](
http://download.qt.io/official_releases/qt/
)
页面。 (由于下载链接过去经常更改,因此您可能需要用 Google 搜索当前链接。)我们选择最新的 Qt 5.x 来源。 在创建本教程时,最新的
资料
是 Qt 5.5.1。 接下来,我们将从源代码安装 Qt。
我们转到
[
download.qt.io/official_releases/qt/
](
http://download.qt.io/official_releases/qt/
)
页面。 (由于下载链接过去经常更改,因此您可能需要用 Google 搜索当前链接。)我们选择最新的 Qt 5.x 来源。 在创建本教程时,最新的
数据
是 Qt 5.5.1。 接下来,我们将从源代码安装 Qt。
```
cpp
$
ls
qt
-
everywhere
-
opensource
-
src
-
5.5.1
.
tar
.
gz
...
...
@@ -50,8 +50,8 @@ $ cd qt-everywhere-opensource-src-5.5.1/
我们以经典方式安装库。 在 Unix 系统上,软件的安装分为三个步骤。
*
组态
*
建造
*
配置
*
构建
*
安装
```
cpp
...
...
docs/gui/48.md
浏览文件 @
4e9d85ff
...
...
@@ -13,7 +13,7 @@
*
[
小部件
](
widgets/
)
*
[
菜单和工具栏
](
menustoolbars/
)
*
[
对话框
](
dialogs/
)
*
[
工程
图
](
drawing/
)
*
[
绘
图
](
drawing/
)
*
[
贪食蛇
](
snake/
)
...
...
docs/gui/5.md
浏览文件 @
4e9d85ff
...
...
@@ -459,7 +459,7 @@ Free virtual memory: 8796052586496
这是程序的示例输出。
## 已知
资料
夹
## 已知
数据
夹
从 Windows Vista 开始,使用新系统来标识 Windows 中的重要目录。 它被称为已知文件夹。 已知文件夹使用一组 GUID(全局唯一标识符)值来引用重要文件夹。
...
...
docs/gui/59.md
浏览文件 @
4e9d85ff
...
...
@@ -11,10 +11,10 @@ Swing 库是 Sun Microsystems 发行的官方 Java GUI 工具箱。 它用于使
Swing 工具包是:
*
平台无关
*
可定制
的
*
可扩展
的
*
可配置
的
*
轻巧
的
*
可定制
*
可扩展
*
可配置
*
轻巧
Swing 是一个高级 GUI 工具箱。 它具有丰富的小部件集。 从基本的小部件(例如按钮,标签,滚动条)到高级的小部件(例如树和表格)。 Swing 本身是用 Java 编写的。
...
...
docs/gui/61.md
浏览文件 @
4e9d85ff
...
...
@@ -10,15 +10,15 @@
我们将使用以下组件:
*
`JMenuBar`
-
实现菜单栏。
*
`JMenu`
—实现一个菜单,一个包含
`JMenuItems`
的弹出窗口,当用户在
`JMenuBar`
上选择一个项目时显示。
*
`JMenuItem`
-
在菜单中实现一个项目。 用户选择它来执行操作。
*
`JSeparator`
-
提供用于实现分隔线的通用组件。
*
`JCheckBoxMenuItem`
-实现可以选择或取消选择的菜单。
*
`JRadioButtonMenuItem`
-实现单选按钮菜单项,用于相互排斥的选择。
*
`ButtonGroup`
-为一组按钮创建一个多重排除范围。
*
`JPopupMenu`
-实现一个弹出菜单,一个弹出的小窗口并显示一系列选项。
*
`JToolBar`
-实现工具栏,该工具栏对于显示常用的
`Actions`
或控件很有用。
*
`JMenuBar`
-
实现菜单栏。
*
`JMenu`
—
实现一个菜单,一个包含
`JMenuItems`
的弹出窗口,当用户在
`JMenuBar`
上选择一个项目时显示。
*
`JMenuItem`
-
在菜单中实现一个项目。 用户选择它来执行操作。
*
`JSeparator`
-
提供用于实现分隔线的通用组件。
*
`JCheckBoxMenuItem`
-
实现可以选择或取消选择的菜单。
*
`JRadioButtonMenuItem`
-
实现单选按钮菜单项,用于相互排斥的选择。
*
`ButtonGroup`
-
为一组按钮创建一个多重排除范围。
*
`JPopupMenu`
-
实现一个弹出菜单,一个弹出的小窗口并显示一系列选项。
*
`JToolBar`
-
实现工具栏,该工具栏对于显示常用的
`Actions`
或控件很有用。
## Swing `JMenuBar`
...
...
docs/gui/62.md
浏览文件 @
4e9d85ff
...
...
@@ -625,7 +625,7 @@ BoxLayout(Container target, int axis)
框布局管理器通常与
`Box`
类一起使用。 此类创建一些不可见的组件,这些组件会影响最终布局。
*
胶
*
胶
水
*
支撑
*
刚性区域
...
...
docs/gui/67.md
浏览文件 @
4e9d85ff
...
...
@@ -133,10 +133,10 @@ errBtn.addActionListener(event -> JOptionPane.showMessageDialog(pnl,
要创建消息对话框,我们调用
`JOptionPane`
类的静态
`showMessageDialog()`
方法。 我们提供对话框的父项,消息文本,标题和消息类型。 消息类型是以下常量之一:
*
错误信息
*
警告信息
*
QUESTION_MESSAGE
*
INFORMATION_MESSAGE
*
`ERROR_MESSAGE`
*
`WARNING_MESSAGE`
*
`QUESTION_MESSAGE`
*
`INFORMATION_MESSAGE`
显示的图标取决于此常数。
...
...
docs/gui/70.md
浏览文件 @
4e9d85ff
...
...
@@ -26,9 +26,9 @@ Swing 的绘图系统能够渲染向量图形,图像和轮廓基于字体的
*
线
*
折线
*
多边形
*
界
*
圆圈
*
椭圆
*
花键
*
样条
## Swing 绘制点
...
...
docs/gui/73.md
浏览文件 @
4e9d85ff
...
...
@@ -21,7 +21,7 @@
游戏背后的一些想法。
*
我们使用
`Timer`
类创建游戏周期
*
绘制四
个形状
*
绘制四
方块
*
形状以正方形为单位移动(不是逐个像素移动)
*
从数学上讲,棋盘是简单的数字列表
...
...
docs/gui/77.md
浏览文件 @
4e9d85ff
...
...
@@ -8,14 +8,14 @@ JavaFX 教程的这一部分涵盖了节点的布局管理。 我们提到了以
JavaFX 具有以下内置布局窗格:
*
`FlowPane`
–在环绕在窗格边界上的流中布置其子项。
*
`HBox`
–将其内容节点水平排列在一行中。
*
`VBox`
–将其内容节点垂直排列在单个列中。
*
`AnchorPane`
–将节点锚定到窗格的顶部,底部,左侧或中心。
*
`BorderPane`
–将其内容节点布置在顶部,底部,右侧,左侧或中央区域。
*
`StackPane`
–将其内容节点放置在从后到前的单个堆栈中。
*
`TilePane`
–将其内容节点放置在大小统一的布局单元或图块中。
*
`GridPane`
–将其内容节点放置在行和列的网格中。
*
`FlowPane`
–
在环绕在窗格边界上的流中布置其子项。
*
`HBox`
–
将其内容节点水平排列在一行中。
*
`VBox`
–
将其内容节点垂直排列在单个列中。
*
`AnchorPane`
–
将节点锚定到窗格的顶部,底部,左侧或中心。
*
`BorderPane`
–
将其内容节点布置在顶部,底部,右侧,左侧或中央区域。
*
`StackPane`
–
将其内容节点放置在从后到前的单个堆栈中。
*
`TilePane`
–
将其内容节点放置在大小统一的布局单元或图块中。
*
`GridPane`
–
将其内容节点放置在行和列的网格中。
为了创建更复杂的布局,可以在 JavaFX 应用中嵌套不同的容器。 除了
`GridPane`
之外,内置的布局管理器是非常基本的,不适用于更复杂的应用。 更复杂的布局应使用
`GridPane`
或第三方
`MigPane`
。
...
...
docs/gui/98.md
浏览文件 @
4e9d85ff
...
...
@@ -19,7 +19,7 @@ wxWidgets 是一个用于创建应用的工具包。 还有其他一些旨在创
游戏背后的一些想法。
*
我们使用
`wxTimer`
创建游戏周期。
*
绘制四
聚体
。
*
绘制四
方块
。
*
形状以正方形为单位移动(而不是逐个像素移动)。
*
从数学上讲,棋盘是一个简单的数字列表。
...
...
docs/java/3.md
浏览文件 @
4e9d85ff
...
...
@@ -215,7 +215,7 @@ This is simple Java example.
我们使用
`java`
工具运行一个包含一个文件的简单应用。 这对于学习非常方便。
##
资料
来源
##
数据
来源
以下资源用于创建本教程:
...
...
docs/java/38.md
浏览文件 @
4e9d85ff
...
...
@@ -16,7 +16,7 @@ Java Log4j 教程定义了日志记录,介绍了 Log4j 库,并在几个代
*
信息收集
*
剖析
*
稽核
*
产生统计
资料
*
产生统计
数据
记录不仅限于识别软件开发中的错误。 它还可用于检测安全事件,监视策略违规,在出现问题时提供信息,查找应用瓶颈或生成使用情况数据。
...
...
docs/java/66.md
浏览文件 @
4e9d85ff
...
...
@@ -20,7 +20,7 @@
*
[
选取器
](
pickers/
)
*
[
菜单
](
menus/
)
*
[
对话框
](
dialogs/
)
*
[
工程
图
](
drawing/
)
*
[
绘
图
](
drawing/
)
...
...
docs/misc/103.md
浏览文件 @
4e9d85ff
...
...
@@ -6,7 +6,7 @@
## 目标
本教程的目标是使您开始使用 Tcl 编程语言。 本教程涵盖了 Tcl 语言的核心,即变量,列表,数组,控件结构和其他核心功能。 这不是该语言的完整介绍。 这是一种快速的入门
资料
。 该教程是在 Ubuntu Linux 上创建的。
本教程的目标是使您开始使用 Tcl 编程语言。 本教程涵盖了 Tcl 语言的核心,即变量,列表,数组,控件结构和其他核心功能。 这不是该语言的完整介绍。 这是一种快速的入门
数据
。 该教程是在 Ubuntu Linux 上创建的。
## Tcl
...
...
@@ -121,7 +121,7 @@ This is Tcl tutorial
我们使用
`chmod`
命令使脚本可执行并执行。
##
资料
来源
##
数据
来源
以下资源用于创建本教程:
...
...
docs/misc/130.md
浏览文件 @
4e9d85ff
...
...
@@ -141,7 +141,7 @@ $ cat source.c
```
碰巧我们复制了一些
资料
,包括行号。 我们的任务是从文本中删除数字。
碰巧我们复制了一些
数据
,包括行号。 我们的任务是从文本中删除数字。
```
sh
$
awk
'{print substr($0, 4)}'
source.c
...
...
docs/php/171.md
浏览文件 @
4e9d85ff
...
...
@@ -14,7 +14,7 @@ PHP Monolog 教程展示了如何使用 Monolog 在 PHP 中进行日志记录。
*
信息收集
*
故障排除
*
产生统计
资料
*
产生统计
数据
*
稽核
*
剖析
...
...
docs/php/182.md
浏览文件 @
4e9d85ff
...
...
@@ -1458,7 +1458,7 @@ This is a sample output of the script.
您可能也对以下相关教程感兴趣:
[
PHP PDO 教程
](
/php/pdo/
)
,
[
PHP 教程
](
/lang/php/
)
。
##
资料
来源
##
数据
来源
*
[
PHP 文件系统函数
](
http://php.net/manual/en/ref.filesystem.php
)
...
...
docs/ruby/72.md
浏览文件 @
4e9d85ff
...
...
@@ -87,7 +87,7 @@ This is Ruby
我们使用
`chmod`
命令使脚本可执行并执行。
##
资料
来源
##
数据
来源
以下资源用于创建本教程:
...
...
docs/spring-boot/55.md
浏览文件 @
4e9d85ff
...
...
@@ -21,7 +21,7 @@ $ wget http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.
```
我们从 Spring
资料
库下载带有
`wget`
的 CLI 工具。
我们从 Spring
数据
库下载带有
`wget`
的 CLI 工具。
```
java
$
unzip
spring
-
boot
-
cli
-
1.5
.
7
.
RELEASE
-
bin
.
zip
...
...
docs/spring/31.md
浏览文件 @
4e9d85ff
...
...
@@ -221,6 +221,6 @@ $ mvn -q -Dspring.profiles.active=dev exec:java
我们在命令行上设置了配置文件的情况下运行应用
在本教程中,我们为 Spring 应用创建了开发和生产
资料
。
在本教程中,我们为 Spring 应用创建了开发和生产
数据
。
您可能也对这些相关教程感兴趣:
[
Spring `@Bean`注释教程
](
/spring/bean/
)
,
[
Spring 单例范围 bean
](
/spring/singletonscope/
)
,
[
Spring `@ComponentScan`教程
](
/spring/componentscan/
)
,
[
Spring 注入列表 XML 教程
](
/spring/injectlistxml/
)
,
[
Spring `BeanDefinitionBuilder`教程
](
/spring/beandefinitionbuilder/
)
,
[
Spring HikariCP 教程
](
/articles/springhikaricp/
)
和
[
Java 教程
](
/lang/java/
)
。
\ No newline at end of file
docs/symfony/102.md
浏览文件 @
4e9d85ff
...
...
@@ -10,7 +10,7 @@ Symfony 是一组可重用的 PHP 组件和一个用于 Web 项目的 PHP 框架
## CSRF
跨站点请求伪造(CSRF)是一种攻击,其中恶意用户试图使合法用户在不知情的情况下提交他们不打算提交的数据。 CSRF 攻击专门针对状态更改请求,而不是数据盗窃。 成功的 CSRF 攻击可以迫使用户执行状态更改请求,例如转移资金或更改其个人
资料
详细信息。
跨站点请求伪造(CSRF)是一种攻击,其中恶意用户试图使合法用户在不知情的情况下提交他们不打算提交的数据。 CSRF 攻击专门针对状态更改请求,而不是数据盗窃。 成功的 CSRF 攻击可以迫使用户执行状态更改请求,例如转移资金或更改其个人
数据
详细信息。
CSRF 保护的工作原理是在表单中添加一个隐藏字段,该字段包含仅应用和用户知道的值(令牌)。 这样可以确保用户(而非其他实体)正在提交给定的数据。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录