第10章_图形用户界面(GUI)制作
图形用户界面GUI设计

第20页/共23页
首页
11.5 综合案例
11.5.1 绘图界面设计 设计一个GUI界面,包括“选择”、“绘图”、“关闭”三个按钮和 一个坐标轴“axes1”。要求:点击“选择”按钮,弹出一个包括各 种绘图方法的“列表对话框”,并从中选取一种方式,点击“绘图” 按钮,则在坐标轴上显示图形;点击“关闭”按钮,出现提示“问 题对话框”来关闭。
第3页/共23页
11.1.4 界面的存储及运行
点击输出编辑器界面,工具栏中保存图标,或者选择菜单“Fiel”→“Save as”命令,弹出“Save as”对话框,填写用户定义的文件名.(如gui) 点击“保存”按钮,这时输出编辑器界面变成名称为“gui.fig”的窗口, 如图所示,
保存的同时会在当前路径下自动产生两个文件:一个是“gui. fig”文件,
2.错误对话框(errordlg) 格式 errordlg(ErrorString,DlgName) 说明 ErrorString:显示错误信息的字符串;DlgName:对话框标题 (字符串)。
第17页/共23页
首页
3.警告对话框(warndlg) 格式 warndlg(WarnString,DlgName ) 说明 WarnString:显示警告信息的字符串;DlgName:对话框标 题(字符串)
第21页/共23页
首页
11.5.2 万年历界面设计 设计一个万年历GUI界面,其界面布局如图所示。包括“输入年份”、 “输入月份”、“显示星期”、“显示月历”等控件。要求在界面 上任意输入某个具体年份和月份,点击按钮即可显示本月的日历及 对应的星期(0表示没有数字日期)。
首页
(7)保存界面并运行 界面名称变为“gui1.fig”,如图所示。
Matlab基础及其应用 第10章 App设计

10.2 GUI函数
MATLAB基础与应用教程
10.2.2 建立用户菜单
1.创建菜单
MATLAB提供了uimenu函数来创建、设置、修改菜单。函数调用格 式为
m = uimenu(parent,属性1,属性值1,属性2,属性值2, …)
建立菜单时,parent为图形窗口的句柄,默认在当前图形窗口中 建立这个菜单。
MATLAB基础与应用教程
建立函数文件LineStatus.m,定义回调函数。
function LineStatus(source,~)
h=findobj('Tag','myline'); if source.Parent.Text=="线条颜色"
h.Color=source.Tag; elseif source.Parent.Text=="线型"
10.2 GUI函数
MATLAB基础与应用教程
10.2.3 建立快捷菜单
(1)uicontextmenu函数用于建立快捷菜单,函数调用格式为 m = uicontextmenu(parent,属性1,属性值1,属性2,属性值2, …) (2)利用uimenu函数为快捷菜单建立下一级菜单项。 (3)通过图形对象的UIContextMenu属性将快捷菜单与图形对象 关联。
(1)Callback属性。属性值是描述命令的字符串或函数句柄, 当单击控件时,系统将自动执行字符串描述的命令或调用句柄所 代表的函数,实施相关操作。
(2)ButtonDownFcn属性:用于定义在控件对象上单击鼠标左键 时执行的命令。
(3)KeyPressFcn属性。用于定义在控件对象上按下键盘键时执 行的命令。
python制作一个简单的gui数据库查询界面

python制作⼀个简单的gui数据库查询界⾯⼀、准备⼯作:1、安装mysql3.7,创建⼀个test数据库,创建student表,创建列:(列名看代码),创建⼏条数据(以上⼯作直接⽤navicat for mysql⼯具完成)⼆、代码:import sysimport tkinter as tkimport mysql.connector as sql#--------------------查询函数---------------------------def sql_connect():listbox_show.delete(0,'end') #初始化清空显⽰区m = listbox_name.curselection()[0]print('m=',m)list_name = listbox_name.get(m)[0]varlue = entry_varlue.get()print('list_name=',list_name)print('var=',varlue)while list_name == 'Student_ID':sql_sr = "select * from Student where student.student_id = " + "'" + varlue +"'"print(sql_sr)breakwhile list_name == 'Name':sql_sr = "select * from Student where = " + "'" + varlue +"'"print(sql_sr)breakwhile list_name == 'Age':sql_sr = "select * from Student where student.age = " + "'" + varlue +"'"print(sql_sr)breakwhile list_name == 'Sex':sql_sr = "select * from Student where student.sex = " + "'" + varlue +"'"print(sql_sr)breakwhile list_name == 'Class':sql_sr = "select * from Student where student.class = " + "'" + varlue +"'"print(sql_sr)breakmydb = sql.connect(host='localhost',user='root',passwd='123456',database='test')mycursor = mydb.cursor()mycursor.execute(sql_sr)myresult = mycursor.fetchall()for x in myresult:print (x)listbox_show.insert('end',x)#--------------------------------------------------------#------------界⾯初始化时加载选项列表--------------------sql_n = "SELECT COLUMN_NAME FROM information_schema.COLUMNS \WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'student'"mydb = sql.connect(host='localhost',user='root',passwd='123456',database='test')mycursor = mydb.cursor()mycursor.execute(sql_n)myresult = mycursor.fetchall()#--------------------------------------------------------#----------窗体部分--------------------------------------entry_list_name = tk.Entry()entry_list_name.pack()listbox_name = tk.Listbox()listbox_name.pack()for i in myresult:listbox_name.insert('end',i) #加载选项列表entry_varlue = tk.Entry()entry_varlue.pack()button_select = tk.Button(text = '查找',command = sql_connect)button_select.pack()listbox_show = tk.Listbox()listbox_show.pack()root.mainloop()#--------------------------------------------------------三、界⾯好吧,是挺丑的,因为没调格式,将就吧。
第十章Python的GUI编程.ppt

2020/1/6
7
• 一个事件发生后,GUI程序捕获该事件、作出对 应的处理并返回结果的过程称为回调。如计算器 程序,单击了“=”按钮之后,便产生了一个事 件,需要计算最终的结果,程序便开始对算式进 行计算,返回最终结果并显示出来。这个计算并 显示结果的过程即为回调。
• 当为程序需要的每一个事件都添加完相应的回调 处理之后,整个GUI就完成了。
菜单。单击后弹出一个选项列表,用户可以从中选择
菜单按钮。用来包含菜单的组件(有下拉式、层叠式)
消息框。类似于标签,但可以显示多行文本
进度条。线性“滑块”组件,可设定起始值和结束值,显示当前位置的精确值
滚动条。对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能
文本域。多行文字区域,可用来收集(或显示)用户输入的文字
2020/1/6
8
三、Tkinter与主要组件
• Tk是Python默认的工具集(即图形库), Tkinter是Tk的Python接口,通过Tkinter可 以方便地调用Tk进行图形界面开发。
• Tk与其他开发库相比,不是最强大的,模块工具 也不是非常的丰富。但它非常简单,所提供的功 能开发一般的应用也完全够用了,且能在大部分 平台上运行。
2020/1/6
33
例10-7:创建单选按钮示例
2020/1/6
34
Radiobutton组件常用参数
参数
描述
variable
单选按钮索引变量,通过变量的值确定哪个单 选按钮被选中。一组单选按钮使用同一个索引 变量
value
单选按钮选中时变量的值
command 单选按钮选中时执行的命令(函数)
2020/1/6
2020/1/6
2022年智慧树指尖上的“艺术”—移动端UI设计单元测试答案

第一章测试1UI设计是什么意思?()【答案】User Interface的缩写,是指用户界面设计2GUI是什么意思?()【答案】GUI是Graphical User Interface的简称,即图形用户界面,准确来说,GUI就是屏幕产品的视觉体验和互动操作部分。
3下列哪一种不属于UI设计范畴()【答案】户外海报设计4UI视觉设计常用软件是()【答案】Photoshop5平均来讲,SVG文件比GIF、JPEG格式的文件要小很多,原因在于:【答案】SVG文件是非光栅化图,而GIF和JPEG格式的文件是光栅化图6UI设计(即用户界面设计)指的是对软件的()的整体设计。
【答案】界面美观【答案】操作逻辑【答案】人机交互7UI设计的研究方向包括以下哪几项()【答案】视觉设计【答案】交互设计【答案】用户研究8用户需求可以通过哪些方法获取()【答案】全选9用户体验就是用户在使用产品的过程中建立起来的一种纯主观感受。
( )【答案】对10PNG格式是一种便携式网络图形格式,采用的是无损数据压缩算法,在不损坏图像质量的前提下,降低文件的体积大小,而且对图像的颜色没有任何影响。
【答案】对第二章测试1以下四组色彩中,哪组色彩体现了"安宁、平静"的感觉?【答案】【答案】2黄金比例,是指将一条线段一分为二,其中较大部分与整体之比,正好等于较小部分与较大部分之比,其比值为()【答案】0.6183()是指色彩三属性中除了色相以外的明度和彩度的复合称谓。
【答案】色调4下列属于三角调和,也符合邻近色相的色彩组合有()【答案】橙色、黄色、黄绿色5下列色相环中哪种色相关系对比最强烈,配色能给人饱满、活跃、生动、刺激的强烈感受【答案】互补色相6移动UI设计构图时我们应遵循哪些原则:()【答案】留白【答案】比例【答案】平衡【答案】聚焦【答案】对比7AdobeColor CC支持的图片格式有()【答案】全选8以下哪些因素会影响文字的可读性()【答案】全选9手机界面更多的以文字表现而不是图形表现()【答案】错10色相环由12种基本的颜色组成。
Java图形用户界面设计

13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。
chapter10 Linux下的GUI编程

精通Linux C编程 精通Linux C编程
三、GTK+/GNOME编程 GTK+/GNOME编程
2、GTK+编程 GTK+编程
任何GTK程序都需要几个基本的函数和组成都分。首先你需要至少 包含头文件gtk.h。根据所使用的构件和函数,可能会需要其他的 GTK头文件。然后必须为想要使用的构件定义指针。随后需要利用 gtk_initt函数初始化GTK库。做完这些以后,就可以利用GTK函数定 义构件,并将它们的地址赋给开始定义的指针。然后,可以利用GTK 函数为构件指定动作和属性,如显示它们。例如,一个关闭方框 (Close box)的事件delete_event绑定到窗口和函数 gtk_main_quit。因此,如果一个用户点击了窗口中的关闭方框 (Close box),程序结束。最后,利用gtk_main函数运行构件。
个能够简化应用程序设计的跳板。 --OpenLook。OpenLook是Sun公司产品的一个免费的工具包,它强调了一种另类的观 感。它是在一个为Xview的函数库上面建立起来的,这个库与Xt很相似。 --Motif。Motif是OSF组织的一个标准,设计目的是为UNIX桌面提供统一的观感。 Motif分为两个主要部分:一组用来定义Xt函数中使用的各种常数的头文件和一个用 来简化对话框和菜单等元素的创建工作的易于使用的函数库。Motif还定义了一种程 序设计风格,不管程序员是否使用Motif工具包,都可以参照它来设计自己的程序。 --Qt。Qt是一个由Trolltech公司出品的函数库,它构成了KDE桌面环境的基础,在大 多数Linux发行版本里都能找到它。Qt编程依赖于大量的C++类集,通常其中每个类 都有一大批成员函数来处理类对象。 --GTK+。GTK+就是GIMP工具包,它是GNOME系统的基石。下面我们将详细介绍如何对 这个高级环境进行程序设计。
MinGUI 用 户 手 册

MinGUI 用 户 手 册适用 MinGUI 版本 1.3x 版权所有 © 2006~2010,博芯电子 最新改动日期:2009/12/31目录第一章 MinGUI简介 (4)1.1 GUI发展现状 (4)1.2 MinGUI的由来 (7)1.3 MinGUI资源占用情况 (8)1.4 MinGUI的优势 (8)1.5 MinGUI的市场定位 (8)1.6 MinGUI的解决方案 (9)第二章 MinGUI软件架构 (10)2.1 体系结构 (10)2.2 运行模式 (11)2.3 窗口系统 (13)2.4 消息机制 (14)2.5 回调过程 (20)2.6 字体支持 (21)2.7 显示设备 (21)2.8 输入设备 (21)2.9 输入法 (21)第三章 GDI基础绘图 (22)3.1 基本概念 (23)3.2 绘图函数 (29)第四章 GDI高级绘图 (29)4.1 位图加载 (29)4.2 位图卸载 (29)4.3 位图输出 (30)4.4 透明位图 (31)4.5 位图工具 (31)第五章 GUI设备驱动接口 (34)5.1 显示驱动接口 (34)5.2 键盘驱动接口 (34)5.3 鼠标/触摸驱动接口 (35)5.4 时钟驱动接口 (35)5.5 模拟器驱动及接口 (36)5.6 GUI系统参数配置 (37)第六章 程序开发 (39)6.1 开发环境 (39)6.2 程序样例 (41)6.3 如何实现动画效果 (43)6.4 常用的Windows API (45)第七章 常用控件及组件 (54)7.1 标准窗口控件(“window”) (55)7.2 静态标签(“static”) (55)7.3 按钮(“button”) (56)7.4 组合框(“groupbox”) (56)7.5 单选框(“radiobox”) (57)7.6 复选框(“checkbox”) (58)7.7 列表框(“listbox”) (58)7.8 菜单(“menu”) (59)7.9 进度条(“progressbar”) (60)7.10 数字编辑框(“digiedit”) (61)7.11 数字选择框(“spinedit”) (61)7.12 IP地址编辑框(“ipedit”) (62)7.13 单行文本编辑器(“edit”) (63)7.14 多行文本编辑器(“memo”) (64)7.15 拼音输入法组件 (65)7.16 数字键盘译码 (65)第一章 MinGUI简介图形用户界面(GUI)这一概念是70年代由施乐公司帕洛阿尔托研究中心提出,当时施乐公司帕洛阿尔托研究中心(Xerox PARC)施乐研究机构工作小组最先建构了WIMP(也就是视窗,图标,菜单和点选器/下拉菜单)的范例,并率先在施乐一台实验性的计算机上使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章 图形用户界面(GUI )制作 10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标网格控制键的形成;(D )如何使用该界面。
(1)产生图形窗和轴位框:如图10.1-1所示。
clf resetH=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H);str='\fontname{隶书}归一化二阶系统的阶跃响应曲线';text(0.12,0.93,str,'fontsize',13);h_fig=get(H,'parent');set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,...'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);图 10.1-1 产生坐标轴(2)在坐标框右侧生成作解释用的“静态文本”和可接收输入的“编辑框”:如图10.1-2所示。
h_text=uicontrol(h_fig,'style','text',...'unit','normalized','position',[0.67,0.73,0.25,0.14],... 'horizontal','left','string',{'输入阻尼比系数','zeta ='}); h_edit=uicontrol(h_fig,'style','edit',...'unit','normalized','position',[0.67,0.59,0.25,0.14],... 'horizontal','left',...'callback',[...'z=str2num(get(gcbo,''string''));',...'t=0:0.1:15;',...'for k=1:length(z);',...'y(:,k)=step(1,[1 2*z(k) 1],t);',...'plot(t,y(:,k));',...'if (length(z)>1) ,hold on,end,',...'end;',...'hold off,']);图 10.1-2 在图形界面中添加编辑框和文本框(3)形成坐标网格控制按键:如图10.1-3所示。
h_push1=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.37,0.12,0.15],...'string','grid on','callback','grid on');h_push2=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.15,0.12,0.15],...'string','grid off','callback','grid off');图 10.1-3 添加了两个按键的图形界面(4)输入阻尼比系数 ,可得单位阶跃响应曲线:如图10.1-4和图10.1-5所示。
图 10.1-4 输入标量阻尼比所得到的响应曲线图 10.1-5 输入阻尼比数组所得到的一组响应曲线10.2图形用户界面的设计原则和一般步骤10.2.1设计原则10.2.2一般制作步骤10.3界面菜单(uimenu)10.3.1图形窗的标准菜单【例10.3-1】本例说明:如何隐藏和恢复标准菜单的显示。
(1)获得缺省设置的标准菜单(如图10.3-1所示)figure(2)隐去标准菜单的两种方法(如图10.3-2所示)set(H_fig , 'MenuBar','none');set(gcf,'menubar',menubar);(3)恢复图形窗上标准菜单(如图10.3-1所示)set(gcf,'menubar','figure');图 10.3-1 含有菜单条的图形窗图 10.3-2 移去菜单条的图形窗10.3.2自制的用户菜单【例10.3-2】本例目标:创建如图10.3-3那样的菜单,Color菜单项及其下拉的Blue菜单各带一个简捷键,而另一项下拉菜单Red带一个快捷键。
编写如下程序:[exm103_2.m]figureh_menu=uimenu(gcf,'Label','&Color');h_submenu1=uimenu(h_menu,'Label','&Blue',...'Callback','set(gcf,''color'',''blue'')');h_submenu2=uimenu(h_menu,'label','Red',...'Callback','set(gcf,''color'',''red'')',...'Accelerator','r');图 10.3-3 用户菜单及快捷键设置10.3.3用户菜单的属性【例10.3-3】本例的目标是:在图形窗上自制一个名为【Test】的“顶层菜单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。
通过本例说明:(A)回调属性的运作机理;(B)用户顶层菜单项的制作(C)uimenu属性的设置方法;(D)复杂字符串的构成方法和注意事项。
(1)产生图10.3-4界面的uimenu的书写格式一:uimenu('Label','Test','Callback','grid on,set(gca,''box'',''on''),')图10.3-4 通过顶层菜单Test形成的带分格的封闭坐标轴(2)产生图10.3-4界面的uimenu的书写格式二:uimenu('Label','Test', ...'Callback',['grid on,' , ...'set(gca,''box'',''on'');'])(4)产生图10.3-4界面的uimenu的书写格式三:Lpv='Test';Cpv=['grid on,','set(gca,''box'',''on''),'];uimenu('Label', Lpv, 'Callback' , Cpv)(5)产生图10.3-4界面的uimenu的书写格式四:bel='Test';PS.Callback=['grid on;','set(gca,''box'',''on'');'];uimenu(PS)10.3.4现场菜单的制作【例10.3-4】目标:绘制一条Sa曲线,创建一个与之相联系的现场菜单,用以控制Sa曲线的颜色(图10.3-5)。
(1)编写脚本M文件exm103_4.m[exm103_4.m]t=(-3*pi:pi/50:3*pi)+eps;y=sin(t)./t;hline=plot(t,y);cm=uicontextmenu;%制作具体菜单项,定义相应的回调uimenu(cm,'label','Red','callback','set(hline,''color'',''r''),')uimenu(cm,'label','Blue','callback','set(hline,''color'',''b''),')uimenu(cm,'label','Green','callback','set(hline,''color'',''g''),')set(hline,'uicontextmenu',cm)(2)在指令窗中运行文件exm103_4.m ,得到图10.3-5所示的(但为蓝色的)Sa曲线。