第10章_图形用户界面(GUI)制作
- 格式:doc
- 大小:141.50 KB
- 文档页数:10
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()#--------------------------------------------------------三、界⾯好吧,是挺丑的,因为没调格式,将就吧。
第一章测试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种基本的颜色组成。
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(也就是视窗,图标,菜单和点选器/下拉菜单)的范例,并率先在施乐一台实验性的计算机上使用。
第七讲MATLAB图形⽤户界⾯(GUI)设计第7讲MATLAB图形⽤户界⾯(GUI)设计图形⽤户界⾯(GUI, Graphical User Interface)是由图形控件构建的⽤于⼈与计算机交互信息的界⾯。
在图形⽤户界⾯上,⽤户可以根据界⾯上的提⽰信息完成⾃⼰的⼯作,⽽不需要记忆⼤量繁琐的命令,只需通过⿏标、键盘等便捷的⽅式与计算机交互信息、选择想要运⾏的程序、控制程序的运⾏、实时显⽰图形信息。
MATLAB创建的图形⽤户界⾯对象有三类:⽤户界⾯控件,如按钮、列表框、编辑框等;下拉菜单,如菜单、⼦菜单;内容菜单,如弹出式菜单。
⼀、命令⾏建⽴⽤户界⾯的⽅法1、创建控件命令:uicontrol调⽤格式:1)uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件;2)h=uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件,并返回控件的句柄;3)uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在句柄FIG指定的图形⽤户界⾯上,创建控件;4)h=uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……) 功能:在句柄FIG指定的图形⽤户界⾯上,创建控件,并返回控件的句柄。
说明:函数中的PropertyName参数的参数值有:Push buttons(命令按钮)、sliders (滚动条控件)、Radio button(单选按钮)、Check box(复选框)、Edit text (可编程⽂本框)、Static text(静态⽂本框)、Pop_up menus(弹出式菜单)、listbox(列表框)、Toggle button(开关按钮)、Axes(坐标轴)、Panel(⾯板控件)、Button group(按钮组框)、ActiveX control(ActiveX 控件)。
第十章 图形用户界面(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曲线。