65.9K
CodeProject 正在变化。 阅读更多。
Home

在编程无代码技术 (PWCT) 环境中使用 Python。

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.80/5 (5投票s)

2013 年 12 月 7 日

CPOL

15分钟阅读

viewsIcon

37967

downloadIcon

272

在编程无代码技术 (PWCT) 环境中使用 Python。

简介

在本文中,我们将通过 PythonPWCT 学习如何在编程无代码技术 (PWCT) 环境中使用 Python。

Python 是一种免费的开源通用脚本语言(被许多程序员和软件开发人员所熟知和广泛使用)。Python 是一种基于文本的编程语言,程序员使用语言语法输入基于文本的指令来确定程序的函数并获得所需的结果。Python 以其易于学习且功能强大而闻名,例如多范式(命令式、面向对象、函数式等)、丰富的标准库以及使用 C 编程语言的扩展系统。

Python 有许多可用的工具和库,可以根据应用程序领域来快速完成任务,例如,我们可以使用 wxPython、PyQt、PySide 或 PyGTK 等 GUI 框架来创建丰富的 GUI 应用程序,使用 Django、TurboGears、Zope2 或 web2py 等 Web 框架来创建 Web 应用程序。无论是什么领域,你都可以找到 Python 框架来帮助你完成任务。

编程无代码技术是一个免费的开源通用可视化编程系统。在 PWCT 中,我们可以使用可视化编程创建程序,而无需键入基于文本的源代码。这对于新手程序员来说似乎是一个吸引人的特性,但 PWCT 的设计也考虑了一些专家程序员的需求(生产力和定制性)。当我们使用 PWCT 创建应用程序时,我们可以查看/编辑生成的源代码(可选)。PWCT 系统包含一种以上的可视化编程语言(HarbourPWCT、PythonPWCT、C#PWCT、SupernovaPWCT 和 CPWCT)。从可视化语言的名称,我们可以推测出在代码生成过程中使用的基于文本的语言。PythonPWCT 是一种生成 Python 编程语言源代码的可视化编程语言。

我们将学习如何使用 PythonPWCT 创建我们的第一个应用程序,如何查看/编辑生成的源代码,以及如何利用该环境以获得更高的生产力和定制优势。

背景 

你可以通过本文快速了解 PWCT 的背景。

使用代码

下面的代码是用 Python 编写的一个非常简单的程序。第一行在屏幕上打印“Hello World”消息,然后我们有一个从 0 到 9 的 For 循环,使用 range(10),在这个循环中,我们打印循环变量 (x),在打印变量值之前,我们检查变量值是否等于三,如果发生这种情况(必须发生),我们就打印消息“this is number three”。

print "Hello World"
for x in range ( 10 ):  
   if x == 3 :      
      print "This is number three"
   print x

该程序只是对 print 命令、for 循环和 if 语句的测试。该程序是基于文本的(正如我们之前所说,Python 是一种基于文本的编程语言)。

使用 PythonPWCT,程序表示(在通过可视化编程一步一步创建之后)将如下所示  

我们看到,在 PWCT 可视化编程环境中,程序表示是通过一个步骤树完成的,这个树中的每个节点都有属性(类型、文本和颜色)。

当我们直接编写 Python 代码时,我们只有文本,并且该文本必须遵循 Python 语法规则,但使用步骤树,可视化表示是程序员和基于文本的代码之间的层。这一层使我们能够不受 Python 语言语法的限制来自定义程序表示。我们可以自由地更改步骤文本,我们可以用自然语言(英语、法语、阿拉伯语等)书写。我们可以让它非常短或非常长,或者介于两者之间,取决于我们的偏好,我们可以更改顺序并将关键字放在前面或数据放在前面。

您会看到步骤树包含(End of if statement)和(End of for loop)等步骤,我们知道 Python 语言不使用关键字来结束一个块。使用步骤树,我们可以获得此功能,也可以避免它并删除这些步骤。这个决定留给程序员。

PWCT 的理念之一是让程序员控制过程,程序员决定程序表示的外观,选择将用于创建程序的关键字,控制生成的源代码,在同一个项目上与团队合作,其中每个程序员都可以看到他自己语言中的程序,而不会让其他程序员感到困惑。

现在我们将一步一步地创建这个程序,看看我们如何在实践中做到这一点。

[1] 下载 PWCT,我们将使用 PWCT 1.9 (Art) Rev. 2013.10.15,您不需要安装 Python,PWCT 自带 Python 2.7。

PWCT 是一个 MS-Windows 产品,下载软件后,您可以使用安装程序进行安装,您可以确定安装路径,默认路径是 C:\PWCT19。

安装 PWCT 后,您会在 *C:\PWCT19\SSBUILS\Python27* 中找到 Python,但我们不会直接使用 Python,我们将通过 PWCT 环境进行操作。

[2] 安装 PWCT 后,我们将获得环境快捷方式,使用它来运行 PWCT 环境。

[3] PWCT 环境如下所示,默认的可视化编程语言是 HarbourPWCT,这种可视化语言生成 Harbour 编程语言的源代码,我们将切换到 PythonPWCT 来生成 Python 编程语言的源代码。

要更改活动可视化编程语言,在工具栏上有一个组合框,我们可以在其中选择可视化语言。安装 PWCT 时,您会找到 HarbourPWCT、CPWCT、C#PWCT、PythonPWCT 和 SupernovaPWCT(WebPWCT 仍在开发中)。

[4] 当我们选择 PythonPWCT 时,我们可以开始开发我们的应用程序,从文件菜单中选择新建,然后选择模板“PWCT Application - Main Goal”,然后确定项目文件名,例如(Lesson1.ssf),您可以将项目文件放在一个文件夹中,以便在一个地方查看项目文件。

开始时,当我们创建 Lesson1.ssf 时,应用程序文件夹中将有两个文件(*Lesson1.ssf* 和 *Lesson1.fpt*),这些文件将用于存储有关程序可视化源代码的信息。

当我们运行程序时,我们将得到 Lesson1.py(Python 程序文件)。

在 PWCT 环境中,默认的活动窗口是“Goal Designer”窗口,在 PWCT 的可视化编程世界中,您可以将 Goal Designer 视为替换您直接编写代码时使用的代码编辑器的工具。您可以将 Goal Designer 称为程序的 Visual Editor。

此可视化编辑器可以有两种模式:第一种模式是“Syntax Directed Editor”(语法引导编辑器)模式,您创建程序,编辑器会限制您可以做什么以避免错误(语法错误,在可视化编程中,语法错误是当您将组件放置在不正确的位置时发生的错误)。第二种模式是“Free Editor + VPL Compiler”(自由编辑器 + VPL 编译器),此时语法引导编辑器关闭,您可以自由地制造错误,然后您可以使用 VPL(可视化编程语言)编译器来发现这些错误。默认模式是第一种模式,“Syntax Directed Editor is ON”(语法引导编辑器已开启)。

[5] 步骤树中的活动步骤称为“The First Step”,步骤类型是注释,步骤树中有两种类型的步骤,第一种是注释,另一种是指令,其中每个指令类型的步骤都隐藏了生成代码的一个块。

程序员可以使用编辑按钮更改步骤文本“The First Step”。

[6] 现在我们将继续创建我们的程序,首先我们想在屏幕上打印“Hello World”消息,为此,我们将在步骤树中生成一个新的步骤。

在步骤树中添加新生成步骤的过程称为“Interaction”(交互)。要开始新的交互过程,我们单击“interact”按钮,或者我们可以按 CTRL+T。

另一种方法,而不是单击按钮或按 CTRL+T,我们可以通过输入所需组件名称来开始新的交互过程。例如,我们想生成一个在屏幕上打印文本的步骤。用于此目的的组件称为“Print Text”,我们可以通过输入组件名称的第一个字母来开始交互过程,在这种情况下,第一个字母是“P”,所以我们只需按“P”。

[7] 当我们开始新的交互过程时,我们会得到组件浏览器窗口。您可以将组件浏览器视为“Toolbox”(工具箱)。我们有 Domain Tree(域树),Domain Tree 中的每个项目都包含组件列表。我们可以使用鼠标浏览组件,并可以通过交互式搜索过程使用键盘快速选择组件。

现在我们有了“Console”(控制台)域,我们将使用“Print Text in New Line”(在新行打印文本)组件。

当我们选择一个组件时,我们可以单击“Ok”来使用它,或者我们可以按“ENTER”。

我们可以按“ESC”或单击“Cancel”来结束交互过程而不做任何操作。

[8] 当我们使用组件浏览器选择一个组件时,我们会得到“Interaction Using Transporter”(使用传输器进行交互)窗口。这个窗口是一个数据录入表单,我们在其中输入组件的数据。“Transporter”(传输器)这个名称只是 PWCT 中“component”(组件)的另一个名称替换。这个名称的由来是因为组件从程序员那里获取数据,然后将这些数据传输两次,一次用于程序的可视化表示(步骤树),另一次用于生成的源代码。

在交互页面中,我们将输入文本“Hello World”,然后我们可以单击“Ok”按钮或按 CTRL+W。

我们可以通过单击“Again”(再次)按钮或按 CTRL+A 来多次使用同一个组件。

这个组件非常简单,它执行一个功能(打印文本)并包含一个交互页面,其他组件可能执行多个功能并可能包含多个交互页面。

[9] 当我们输入组件所需的输入数据然后单击“OK”时,我们会回到 Goal Designer 窗口,但这次我们在步骤树中看到一个新的步骤已生成。

要运行程序,请使用工具栏上的“!”按钮或按 CTRL+R。

要查看运行程序后生成的源代码,请查看应用程序文件夹中的文件 *Lesson1.py*。

要查看步骤后面的生成源代码,请选择该步骤,然后单击“Step Code”(步骤代码)按钮。

[10] 现在我们将继续创建我们的程序,选择第一个步骤,然后开始新的交互过程,此时我们将选择“For Loop”(For 循环)组件。

在交互页面中,我们将看到组件包含默认值,这些值是我们程序所需的,所以我们不会更改任何内容。

我们将得到如下的步骤树,活动步骤将是“Start Here”(从这里开始)步骤,从这个步骤我们可以开始新的交互过程。

[11] 我们将使用“IF Statement”(IF 语句)组件来检查 for 循环变量的值。

IF 语句组件将要求我们输入条件,我们将输入 x==3。

使用 IF Statement 组件后,我们将得到如下的步骤树。

[12] 我们可以使用“Print Text”(打印文本)组件,从 IF 步骤中的“Start Here”(从这里开始)步骤,以及从 For 步骤中的“Start Here”(从这里开始)步骤,以获得我们程序的最终步骤树。

现在我们可以运行程序 (CTRL+R),并且我们可以查看生成的源代码 (Lesson1.py)。

下图是程序运行时期的屏幕截图。

下图是使用 Python IDE 打开的 Lesson1.py 文件的屏幕截图。

现在我们将创建另一个应用程序,这次我们将创建一个 GUI 应用程序。

首先,我们将创建新项目 (Lesson2.SSF)。

从第一个步骤开始,我们将开始新的交互过程,选择“Window”(窗口)域,然后选择“Window”(窗口)组件,我们可以通过在步骤树中输入“w”来快速完成此操作。

当我们使用窗口组件时,我们将得到下一个交互页面,输入窗口标题“PythonPWCT”,然后按 CTRL+W。

在此交互页面中,我们看到更多选项,我们可以确定窗口属性、窗口名称和窗口类型。

我们可以从列表框中选择窗口类型。

输入组件数据后,我们得到如下的步骤树。

我们可以使用“Form Designer”(窗体设计器)按钮或按 CTRL+F 来打开 Form Designer。

使用 Form Designer 窗口,我们可以快速设计用户界面。

我们可以添加新控件,选择一个或多个控件,设置位置、字体和颜色。

要向窗口添加新控件,您可以通过在步骤树中进行交互过程来添加,或者使用 Form Designer 中的“Add control”(添加控件)按钮。

要更改窗口的背景色,您可以使用“Back color”(背景色)按钮。

我们将向我们的窗口添加一个 Label 控件,然后使用 Font 对话框设置该控件的字体大小。

在交互页面中,将标签标题设置为“Welcome”。

将标签控件添加到窗口后,单击 Font(字体)按钮设置字体大小。

我们将向我们的窗口添加一个按钮,当用户单击此按钮时,应用程序将关闭。

我们将复选框“Comman”(命令)状态设置为 True(ON),并输入命令函数为 master.quit。

使用 Form Designer,我们将设置标签和按钮的位置。我们将设置标签颜色和按钮颜色及背景色。

下图是程序最终的步骤树。

我们可以按 CTRL+R 运行程序,并可以在文件 Lesson2.py 中查看生成的源代码。

下图是应用程序运行时期的屏幕截图。

下图是使用 Python IDE 打开的生成源代码 (Lesson2.py) 的屏幕截图。

值得关注的点  

我们学习了如何查看程序或单个步骤后面的生成源代码(用 Python 编写),您会注意到,当您查看步骤后面的生成代码时,生成的代码是只读的(您无法修改它)。这仅仅是因为 Syntax Directed Editor 已开启,如果您想修改生成的代码,只需将 Syntax Direct Editor 关闭即可,但这通常不是一个好习惯,除非您想进行快速测试。

当您创建一个注释步骤时,您可以(如果需要)在该步骤后面添加一段代码。

使用 PWCT 环境的优势是生产力和定制性,您可以使用键盘快捷键更快地工作,并且可以使用鼠标来探索环境,如果您忘记了某事,并且您可以使用定制来设置让您更具生产力的环境选项。

在本文的这一部分,我将讨论 PWCT 的一些可以定制环境的特性。

  1. 您可以更改组件名称。
  2. 要更改组件名称,从菜单栏选择“Domain Tree”(域树),然后选择“Reinstall component”(重新安装组件)。

    您将看到如下窗口。

    在“Reinstall component”(重新安装组件)窗口中,您可以选择任何组件并在域树中更改组件名称。

    使用此功能,您可以重命名组件,然后可以通过在组件浏览器中输入组件名称并在搜索行中搜索来快速找到这些组件。

  3. 您可以更改生成的步骤名称和生成的源代码。

    当您重新安装组件时,可以通过单击“Open”(打开)按钮来打开该组件。

    这将带您进入 transporter designer(传输器设计器)窗口。在此窗口中,组件被创建并可以被修改。

    在 transporter designer 中,您将看到组件使用的交互页面。

    您可以使用 interaction designer(交互设计器)打开交互页面,您可以修改数据录入表单。

    您可以设置默认值,调整控件大小和设置颜色。

    在 transporter designer 中,在 Code Mask(代码掩码)部分,您可以修改控制步骤生成过程和代码生成过程的脚本。

    PWCT 环境包含一个脚本语言(特定领域)来编写代码掩码脚本。该语言包含简单的命令,可用于控制步骤和代码的生成过程。

  4. 您可以根据您的操作选择步骤颜色,显示/隐藏步骤。
  5. 在 Goal Designer 窗口中,您可以单击 Steps Colors(步骤颜色)按钮,会弹出一个窗口来选择步骤颜色。

    此窗口中的一个重要特性是,您可以根据步骤类型隐藏某些步骤,例如,您可以通过从样式中选择“Read Mode”(读取模式)来隐藏 Generated (Leaf) 类型的步骤,或者将字体颜色设置为与背景色相同的白色。

    将此功能应用于本文中创建的第一个应用程序,我们将得到如下的步骤树。

    将此功能应用于本文中创建的第一个应用程序,我们将得到如下的步骤树。

  6. 时间维度
  7. PWCT 环境的一个优点是您可以使用时间维度。在 Goal Designer 环境中,您有一个时间滑块,您可以在应用程序的构建过程中移动,移动到过去的时间点,然后在该点运行程序。

    您还可以像观看电影一样(一步一步地)播放程序,以学习如何创建程序。

    在像电影一样播放程序的过程中,您可以要求 PWCT 记录程序,这样 PWCT 示例的文档就会被生成并在线提供(文档由 PWCT 编写)。

    有关此点的更多信息,您可以阅读本文

历史

PWCT 起源于 2005 年 12 月的一个研究项目,第一个版本于 2008 年发布,最新版本于 2013 年发布。与许多为新手程序员开发的视觉编程语言不同,PWCT 是为寻求生产力和定制性的新手和专家程序员设计的。

与任何编程工具一样,您需要尝试 PWCT,然后自己决定它是否有用。我希望一些 Python 程序员会发现 PythonPWCT 对他们有用,并且他们会喜欢这篇文章作为对 PythonPWCT 的介绍。

© . All rights reserved.