第05周实验:简单图形用户界面设计

什么是 GUI

GUI 是 Graphical User Interface(图形用户界面)的缩写。在 GUI 中,并不只是键入文本和返回文本,用户可以看到窗口、按钮、文本框等图形,而且可以用鼠标点击,还可以通过键盘键入。

第一个 GUI

代码清单 6-1 小GUI程序“Hello,world”

运行程序,你会看到下面的界面(可能会有点慢)

OK,我们利用下表来逐行解释代码清单 6-1的内容:


app = wx.App()


每一个wxPython应用程序都是一个 wx.App实例 。


wx.Frame(None,wx.ID_ANY,"Hello")


wx.Frame 是一个顶级窗口。它没有父窗口,所以其父亲是None。我们还需要为这个顶级窗口起个名字,也就是ID,wx.ID_ANY。


frame.Show(True)


显示ID_ANY窗口


app.MainLoop()


最后,我们通过MainLoop()函数,让程序一直运行。运行过程中我们还可以处理事件。

6.3 复杂一点GUI

第一步:构建一个简单的窗口

我们首先构建一个简单的窗口(框架),里面有一个可编辑的文本框。构建一个文本框的需要使用 wx.TextCtrl小部件(类似汽车的零件)。 默认情况下,文本框是一个单行的字段,但是 wx.TE_MULTILINE 参数允许您输入多行文本。

代码清单 6-2一个简单的编辑器

运行程序,你会看到下面的界面

现在代码里有许多内容你看不懂,没关系,因为代码类涉及到了类class MyFrame(wx.Frame)、特殊的方法__init__()及其属性等内容。你先了解一下就行,我们以后会讲到。接下来我们继续完善这个小程序,添加一个菜单到编辑器。

第二步:添加一个菜单栏和状态栏

每个应用程序都应该有一个菜单栏和状态栏,让我们将它们添加到编辑器里。

代码清单 6-3编辑器的菜单栏和状态栏

运行程序,你会看到下面的界面:

好像代码越来越复杂了!

是的,对于初学者而言,目前不要尝试理解每一行代码。

GUI中的事件

这个例子同事件有点关系,什么是事件?

在GUI中,用户执行的动作(比如点击菜单)叫做事件。程序响应事件称为事件处理。 当一些事件发生时(单击一个按钮、文本输入、鼠标移动等)。我们需要编程响应这些事件。下面的程序将用 bind() 方法 绑定对象的事件(什么是对象?)

我们创建了一个有一个文本框的窗口用来显示鼠标的位置,这有助于我们了解事件。

这个程序通过一个文本框来显示鼠标的当前位置,用户移动鼠标动作就是一个事件,有些程序必须响应用户移动鼠标的事件,比如电脑游戏中,枪的准星就是通过鼠标移动来瞄准的。

代码清单 6-4显示鼠标的位置

运行程序,你会看到下面的界面

6.5 复杂一点的事件

好吧,我们再了解最后一个例子,其他GUI的知识放到以后再学习。

这个例子同事件有关:有两个文本框,三个按钮控件,按下按钮便可以左右互发消息。

运行程序,你会看到下面的界面

代码清单 6-5 发送消息(复制) 源代码

时间: 2024-10-14 07:21:04

第05周实验:简单图形用户界面设计的相关文章

GUI图形用户界面设计注意事项

软件设计,当然不能局限于算法.代码的设计,界面的设计也同样重要.作为一个全面的编程人员,关心用户体验,也是我们应有的责任与义务. JavaGUI中,有着图形类与工具类等等,图形类包括了容器类与组件类,工具类又包括颜色类.字体类等,现在开发中,图形类使用javax.swing包下的以J开头的类,其他使用java.awt包下的类即可. 容器本质也是一种组件,只不过它被设计来放置其他具体的组件. 设置图形用户界面首先要有一个窗体JFrame类型对象,如果是自定义的窗体,那么它也要继承(extents)

图形用户界面设计琐碎概念

//**************************************// 图形用户界面或图形用户接口(Graphical User Interface,GUI)是采用图形方式显示的计算机操作环境用户接口.与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简易.(比如你用WindowsXP和使用DOS操作系统的差别).GUI是事件驱动的,也就是说,一旦用户与GUI交互,GUI组件就会产生“事件”(动作).常见交互包括西东鼠标.单机鼠标按钮.在文字段输入.从菜单选择一个选项以及关

实验十:图形用户界面设计

源代码: package jisuanqi; import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Label;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.StringTokenizer; im

MATLAB学习笔记(十一)——MATLAB图形用户界面设计

(一)菜单设计 一.建立用户菜单 1.概况: 用户菜单一般含有一级菜单和二级菜单,乃至多级菜单.每一级菜单又包含多个菜单项.建立菜单可以使用uimenu函数. 2.uimenu函数调用: %建立一级菜单的函数调用: 一级菜单句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,--); %建立一级菜单需给出图形窗口的句柄值. %如果省略句柄值,MATLAB就在当前图形窗口中建立这个菜单项. %如果当前没有图形窗口,则自动打开一个图形窗口. %建立子菜单项的函数调用: 子菜单项

第七周 项目一-图形用户界面(GUI)应用程序开发初体验

第一次 用vc++感觉很蒙 第一次在4408在舍友指导下做的 感觉不太好 今天来机房又做了一次 顺手了些 vc++开始的样子 简单操作后的样子 我添加的代码 我们想要的样子 学习心得: 我在许多同学身上看到了贺老师的影子,这是种很特殊的力量在引领者我们前进,我们需要她.

java 实验6 图形用户界面设计试验(2)

共两大题 窗体实现(略去测试类即 实例化自定义窗体) 小结: 1. JRadioButton 单选按钮 ButtonGroup 按钮集合(加入单选按钮) 清空选项需让ButtonGroup调用clearSelection()函数 bg.clearSelection(); 2. JCheckBox 多选 清空选项需实例调用 jcb1.setSelected(false); 3. JComboBox 下拉列表 利用additem(str)增加选项 4. 实现树切换后的画布切换 JTabbedPane

Linux第一周实验报告总结

北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1352 姓名:马悦 学号:20135235 成绩: 指导教师:娄嘉鹏 实验日期:2015.9.20 实验密级: 预习程度: 实验时间: 仪器组次: 必修/选修:必修 实验序号:1 实验名称: Linux简介  实验目的与要求:1. 了解Linux. 2.学习,安装Linux. 实验仪器: 名称           型号           数量  PC          ThinkPad        1 虚拟机

java-GUI图形用户界面

图形用户界面GUI(Graphical User Interface),指的是在一个程序中用户可以看到的和与之交互的部分. JavaAPI中提供两套组件用于支持编写用户界面AWT  and  Swing. java在初期借助一种窗口开发类库,叫作AWT(Abstract Windows Toolkit,抽象窗口工具箱)来达到在图形接口上平台独立性. AWT处理用户界面元素的方法 把用户界面元素的创建和行为委托给目标平台(Windows.Macintosh.Linux等)上的本地GUI工具(Pee

Android官方入门文档[3]构建一个简单的用户界面

Android官方入门文档[3]构建一个简单的用户界面 Building a Simple User Interface构建一个简单的用户界面 This lesson teaches you to1.Create a Linear Layout2.Add a Text Field3.Add String Resources4.Add a Button5.Make the Input Box Fill in the Screen Width You should also read?Layouts