好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Matlab的图形用户界面GUI.ppt

55页
  • 卖家[上传人]:汽***
  • 文档编号:567996008
  • 上传时间:2024-07-23
  • 文档格式:PPT
  • 文档大小:1.65MB
  • / 55 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1第七章第七章 MatlabMatlab的图形用户界面的图形用户界面GUIGUIØGUIGUI设计工具简介设计工具简介 ØGUIGUI向导设计向导设计ØGUIGUI程序设计程序设计 2第一节第一节 GUIGUI设计工具简介设计工具简介 通常在开发一个应用程序时都会尽量做到界面友好、直观最常用的方法就是使用图形用户界面在Matlab中,图形用户界面是一个包含多种对象的图形窗口用户必须对功能对象进行界面布局和编程,从而使用户在激活GUI的功能对象时能够执行相应的行为 Matlab为用户开发图形界面提供了一个方便、高效的集成开发环境GUIDEGUIDE((Graphic User Interface Graphic User Interface Development EnvironmentDevelopment Environment))GUIDE主要是一个界面设计工具集,Matlab将所有GUI的控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法GUIDE将用户设计好的GUI界面保存在一个FIG文件中,同时还自动生成一个包含GUI初始化和组件界面布局控制代码的M文件。

      这个M文件为实现回调函数(当用户激活GUI某一个组件时执行的函数)提供了一个参考框架,这样既简化了GUI应用程序的创建工作,用户又可以直接使用这个框架来编写自己的函数代码 3整个整个GUIGUI的实现过程可以分为以下几步:的实现过程可以分为以下几步:Ø使用界面设计编辑器进行GUI界面布局设计;Ø理解应用程序M文件中所使用的编程技术;Ø编写GUI组件行为响应控制(即回调函数)代码一、启动一、启动GUIDEGUIDE 在Matlab中,GUIDE提供了多种设计模板以方便用户使用GUI这些模板均包含相关的回调函数,用户可以打开它所对应的M文件,看到它们的工作方式,或修改相应的函数,从而实现自己需要的功能 在Matlab 中,可以通过如下两种方法来访问模板:直接输入“guide”命令,打开如图7-1所示的界面;通过File菜单中的New选项也可以打开GUI模板界面 4图7-1 7-1 进入入GUIGUI的初始界面的初始界面 5 在创建新的在创建新的GUIGUI时,时,Matlab Matlab 提供了空白模板、带有控制按钮提供了空白模板、带有控制按钮的模板、带有坐标轴和菜单的模板以及问答式对话框的模板、带有坐标轴和菜单的模板以及问答式对话框4 4种模板。

      其种模板其中空白模板如图中空白模板如图7-27-2所示:所示:图7-2 7-2 空白界面空白界面编辑器外器外观图 6二、用户界面控件对象介绍二、用户界面控件对象介绍 在空白模板中在空白模板中GUIDEGUIDE提供了用户界面控件以及界面设计提供了用户界面控件以及界面设计工具集来实现用户界面的创建工作,用户界面控件分布在界工具集来实现用户界面的创建工作,用户界面控件分布在界面编辑器的左侧,下面我们对各控件加以介绍面编辑器的左侧,下面我们对各控件加以介绍 :按钮(:按钮(Push ButtonPush Button),是小的矩形面,在其上),是小的矩形面,在其上面标有说明该按钮功能的文本将鼠标指针移动至按钮,单面标有说明该按钮功能的文本将鼠标指针移动至按钮,单击鼠标,按钮被按下随即自动弹起,并执行回调程序击鼠标,按钮被按下随即自动弹起,并执行回调程序按钮的按钮的““StyleStyle””属性的默认值是属性的默认值是““pushbottonpushbotton”” 7 :开关按钮开关按钮(Toggle Button) (Toggle Button) 和一般按钮形状相和一般按钮形状相同,区别在于它有两种状态,用鼠标单击按钮,它会从一同,区别在于它有两种状态,用鼠标单击按钮,它会从一种状态变成另一种状态,并执行相应的回调程序(两种状种状态变成另一种状态,并执行相应的回调程序(两种状态各对应不同的回调程序)。

      态各对应不同的回调程序) 按钮按钮““开开””时,时,ValueValue属性的值为在属性的值为在MaxMax属性中指定的值;属性中指定的值;按钮按钮““关关””时,时,ValueValue属性的值为在属性的值为在MinMin属性中指定的值属性中指定的值 按钮的按钮的““StyleStyle””属性的默认值是属性的默认值是““togglebuttontogglebutton”” :编辑框:编辑框(Edit Text)(Edit Text),允许用户动态地编辑文本,允许用户动态地编辑文本字符串或数字,就象使用文本编辑器或文字处理器一样字符串或数字,就象使用文本编辑器或文字处理器一样编辑框一般用于让用户输入或修改文本字符串和数字编辑框一般用于让用户输入或修改文本字符串和数字 编辑框的编辑框的““StringString””属性属性““的默认值是的默认值是““Edit TextEdit Text”” 8 :单选按钮单选按钮(Radio Button)(Radio Button),又称无线按,又称无线按钮,它由一个标注字符串(在钮,它由一个标注字符串(在““StringString”” 属性属性中设置)和字符串左侧的一个小圆圈组成。

      当它中设置)和字符串左侧的一个小圆圈组成当它被选择时,圆圈被填充一个黑点,且属性被选择时,圆圈被填充一个黑点,且属性““ValueValue””的值为的值为““1 1””;若未被选择,圆圈为空,;若未被选择,圆圈为空,属性的属性的““ValueValue””值为值为““0 0”” 单选按钮一般用于在一组互斥的选项中选择单选按钮一般用于在一组互斥的选项中选择一项为了确保互斥性,各单选按钮的回调程序一项为了确保互斥性,各单选按钮的回调程序需要将其它各项的需要将其它各项的““ValueValue””值设为值设为““0 0”” 单选按钮单选按钮 ““stylestyle””的属性的默认值是的属性的默认值是““Radio Radio ButtonButton”” 9 : 弹出式菜单弹出式菜单(Pop-up Menu)(Pop-up Menu),向用户提出互斥的一,向用户提出互斥的一系列选项清单,用户可以选择其中的某一项弹出式菜单系列选项清单,用户可以选择其中的某一项弹出式菜单下拉式菜单,它不受菜单条的限制,可以位于图形窗口内下拉式菜单,它不受菜单条的限制,可以位于图形窗口内的任何位置。

      的任何位置 通常状态下,弹出式菜单以矩形的形式出现,矩形中通常状态下,弹出式菜单以矩形的形式出现,矩形中含有当前选择的选项,在选项右侧有一个向下的箭头来表含有当前选择的选项,在选项右侧有一个向下的箭头来表明该对象是一个弹出式菜单当指针处在弹出式菜单的箭明该对象是一个弹出式菜单当指针处在弹出式菜单的箭头之上并按下鼠标时,出现所有选项移动指针到不同的头之上并按下鼠标时,出现所有选项移动指针到不同的选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜单,显示新的选项单,显示新的选项 选择一个选项后,弹出式菜单的选择一个选项后,弹出式菜单的““ValueValue””属性值为该属性值为该选项的序号选项的序号 弹出式菜单的弹出式菜单的““StyleStyle””属性的默认值是属性的默认值是““popupmenupopupmenu””,在,在““stringstring””属性中设置弹出式菜单的选属性中设置弹出式菜单的选项字符串,在不同的选项之间用项字符串,在不同的选项之间用““| |””分隔,类似于换行分隔,类似于换行。

      : 10 :图文框图文框(Panel)(Panel),图文框是填充的矩形区域一般用来,图文框是填充的矩形区域一般用来把其它控件放入图文框中,组成一组图文框本身没有回调程把其它控件放入图文框中,组成一组图文框本身没有回调程序注意只有用户界面控件可以在图文框中显示只有用户界面控件可以在图文框中显示由于图文框由于图文框是不透明的,因而定义图文框的顺序就很重要,必须先定义图是不透明的,因而定义图文框的顺序就很重要,必须先定义图文框,然后定义放到图文框中的控件因为先定义的对象先画,文框,然后定义放到图文框中的控件因为先定义的对象先画,后定义的对象后画,后画的对象覆盖到先画的对象上后定义的对象后画,后画的对象覆盖到先画的对象上 :静态文本框静态文本框(text)(text),静态文本框用来显示文本字符串,,静态文本框用来显示文本字符串,该字符串内容由属性该字符串内容由属性““stringstring””确定静态文本框之所以称确定静态文本框之所以称为为““静态静态””,是因为文本不能被动态的修改,而只能通过改,是因为文本不能被动态的修改,而只能通过改变变““StringString””属性来更改。

      静态文本框一般用于显示标记、属性来更改静态文本框一般用于显示标记、提示信息及当前值静态文本框的提示信息及当前值静态文本框的““StyleStyle””属性的默认值是属性的默认值是““texttext”” : 11 :列表框列表框(listbox)(listbox),列表框列出一些选项的清单,,列表框列出一些选项的清单,并允许用户选择其中的一个或多个选项,一个或多个的模并允许用户选择其中的一个或多个选项,一个或多个的模式由式由MinMin和和MaxMax属性控制属性控制Value Value 属性的值为被选中选项的属性的值为被选中选项的序号,同时也指示了选中选项的个数序号,同时也指示了选中选项的个数 当单击鼠标按钮选中该项后,当单击鼠标按钮选中该项后,ValueValue属性的值被改变,属性的值被改变,释放鼠标按钮的时候释放鼠标按钮的时候MatlabMatlab执行列表框的回调程序执行列表框的回调程序 列表框的列表框的““StyleStyle””属性的默认值是属性的默认值是““listboxlistbox”” : :复选框复选框(checkbox)(checkbox),又称检查框,它由一个标注,又称检查框,它由一个标注字符串(在字符串(在““StringString””属性中设置)和字符串左侧的一个属性中设置)和字符串左侧的一个小方框所组成。

      选中时在方框内添加小方框所组成选中时在方框内添加““√√””符号,符号,““ValueValue””属性值设为属性值设为““1 1””;未选中时方框变空,;未选中时方框变空,““ValueValue””属性值设为属性值设为““0 0””复选框一般用于表明选项的复选框一般用于表明选项的状态或属性状态或属性 12 :滑动条滑动条(slider)(slider),又称滚动条,包括三个部分,分别是滑动槽,,又称滚动条,包括三个部分,分别是滑动槽,表示取值范围;滑动槽内的滑块,代表滑动条的当前值;以及在滑动条表示取值范围;滑动槽内的滑块,代表滑动条的当前值;以及在滑动条两端的箭头,用于改变滑动条的值两端的箭头,用于改变滑动条的值 滑动条一般用于从一定的范围中取值改变滑动条的值有三种方式,滑动条一般用于从一定的范围中取值改变滑动条的值有三种方式,一种是用鼠标指针拖动滑块,在滑块位于期望位置后放开鼠标;另一种一种是用鼠标指针拖动滑块,在滑块位于期望位置后放开鼠标;另一种是当指针处于滑块槽中但不在滑块上时,单击鼠标按钮,滑块沿该方向是当指针处于滑块槽中但不在滑块上时,单击鼠标按钮,滑块沿该方向移动一定距离,距离的大小在属性移动一定距离,距离的大小在属性““SliderStepSliderStep””中设置,缺省情况下中设置,缺省情况下等于整个范围的等于整个范围的10%10%;第三种方式是在滑块条的某一端用鼠标单击箭头,;第三种方式是在滑块条的某一端用鼠标单击箭头,滑块沿着箭头的方向移动一定的距离,距离的大小在属性滑块沿着箭头的方向移动一定的距离,距离的大小在属性““SliderStepSliderStep””中设置,缺省情况下为整个范围的中设置,缺省情况下为整个范围的1%1%。

      滑动条的滑动条的““StyleStyle””属性的默认值是属性的默认值是““sliderslider”” :按钮组(:按钮组(Button GroupButton Group),放到按钮组中的多个单选按钮具有),放到按钮组中的多个单选按钮具有排它性,但与按钮组外的单选按钮无关制作界面时常常会遇到有几组排它性,但与按钮组外的单选按钮无关制作界面时常常会遇到有几组参数具有排它性的情况,即每一组中只能选择一种情况此时,可以用参数具有排它性的情况,即每一组中只能选择一种情况此时,可以用几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中 13图7-3 7-3 带有控件的有控件的图形界面形界面编辑器外器外观图三、几何位置排列工具三、几何位置排列工具 14利用对象对齐工具,可以很方便地对对象设计编辑器中设计区内多个对象的位置利用对象对齐工具,可以很方便地对对象设计编辑器中设计区内多个对象的位置进行调整从对象设计编辑器界面的工具栏上选择按钮,或者选择进行调整从对象设计编辑器界面的工具栏上选择按钮,或者选择““ToolsTools””菜单菜单下的下的““Align Objects...Align Objects...””选项,可以打开对象位置调整器,如图选项,可以打开对象位置调整器,如图7-47-4所示:所示:图 7-4 7-4 排列工具排列工具栏外外观图利用对象对齐工具,可以设置对象在垂直方向和水平方向上的对齐方式和间距。

      利用对象对齐工具,可以设置对象在垂直方向和水平方向上的对齐方式和间距选中多个对象后,可以方便地通过对象对齐工具进行调整选中多个对象后,可以方便地通过对象对齐工具进行调整上半部分为垂直方向调整控制区,下面为水平方向调整控制区将在下节上半部分为垂直方向调整控制区,下面为水平方向调整控制区将在下节GUIGUI的的向导设计中进一步熟悉排列工具的使用向导设计中进一步熟悉排列工具的使用 15四、用属性编辑器设置控件属性四、用属性编辑器设置控件属性利用对象属性编辑器,可以查看、修改和设置每个对象的属性值,在对象设计利用对象属性编辑器,可以查看、修改和设置每个对象的属性值,在对象设计编辑器界面工具栏上选择编辑器界面工具栏上选择““ViewView”” 下的下的““Inspect PropertiesInspect Properties””选项,可以选项,可以打开对象属性编辑器另外,在打开对象属性编辑器另外,在MatlabMatlab命令窗口的命令行输入命令窗口的命令行输入inspectinspect,也可,也可以打开对象属性编辑器对象属性编辑器如图以打开对象属性编辑器对象属性编辑器如图7-57-5所示:所示:图7-5 7-5 属性属性编辑器外器外观图 16五、菜单编辑器五、菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。

      在利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单在GUIDEGUIDE中单击工具栏上的按钮,或者选择中单击工具栏上的按钮,或者选择““ToolsTools””菜单中的菜单中的““Menu Menu EditorEditor””选项,打开菜单编辑器的界面,如图选项,打开菜单编辑器的界面,如图7-67-6所示:所示:图 7-6 7-6 菜菜单编辑器界面器界面图GUIDEGUIDE能够创建两种类型的菜单一种是在图形窗口菜单栏中显示的菜能够创建两种类型的菜单一种是在图形窗口菜单栏中显示的菜单栏菜单;另一种是当用户在图形对象上单击鼠标右键时产生的上下单栏菜单;另一种是当用户在图形对象上单击鼠标右键时产生的上下文菜单可以使用菜单编辑器来创建这两种类型的菜单可以使用菜单编辑器来创建这两种类型的菜单 171 1.创建菜单栏菜单.创建菜单栏菜单图图7-67-6中左上角第一个按钮用于创建下拉式菜单用户可以通过点击它来创建下拉中左上角第一个按钮用于创建下拉式菜单用户可以通过点击它来创建下拉式主菜单;第二个按钮用于创建下拉式菜单的子菜单,在选中已经创建的下拉式式主菜单;第二个按钮用于创建下拉式菜单的子菜单,在选中已经创建的下拉式菜单后,可以单击这个按钮来创建选中的下拉式主菜单的子菜单。

      选中创建的某菜单后,可以单击这个按钮来创建选中的下拉式主菜单的子菜单选中创建的某个下拉式菜单后,菜单编辑器的右边就会出现显示该菜单的有关属性,用户可以个下拉式菜单后,菜单编辑器的右边就会出现显示该菜单的有关属性,用户可以在这里设置、修改菜单的属性在这里设置、修改菜单的属性图 7-7 7-7 下拉式菜下拉式菜单创建建图 182 2.. 创建上下文菜单创建上下文菜单利用菜单编辑器创建上下文菜单对象后,当用户在图形对象上单击鼠标右键时,利用菜单编辑器创建上下文菜单对象后,当用户在图形对象上单击鼠标右键时,上下文菜单会随之出现,这样可以根据上下文的具体内容修改图形对象的相应上下文菜单会随之出现,这样可以根据上下文的具体内容修改图形对象的相应属性,故菜单编辑器能够创建上下文菜单并将菜单与图形对象联系起来属性,故菜单编辑器能够创建上下文菜单并将菜单与图形对象联系起来图7-8 7-8 上下文菜上下文菜单创建建图注意注意: :在创建菜单之前要选择菜单编辑器的在创建菜单之前要选择菜单编辑器的Context MenuContext Menu标签界面标签界面 19六、对象浏览器六、对象浏览器利用对象浏览器,可查看当前所创建的图形对象。

      从对象设计编辑器界面的工利用对象浏览器,可查看当前所创建的图形对象从对象设计编辑器界面的工具栏上选择,或者选择具栏上选择,或者选择““ViewView””菜单下的菜单下的““Object BrowserObject Browser””选项,可以打开选项,可以打开对象浏览器对象浏览器图 7-9 7-9 对象象浏览器器 20第二节第二节 GUIGUI向导设计向导设计 GUI GUI的向导设计,简单地说,就是利用的向导设计,简单地说,就是利用GUIGUI设计工具集实现多种控设计工具集实现多种控制对象的设计本节我们将通过实例实践其具体操作过程制对象的设计本节我们将通过实例实践其具体操作过程例例7-17-1】】 设计一个带有三个按钮和一个坐标轴的图形用户界面,当用设计一个带有三个按钮和一个坐标轴的图形用户界面,当用鼠标点击三个按钮时,分别在坐标轴内画鼠标点击三个按钮时,分别在坐标轴内画spheresphere,和,和membranemembrane三个图三个图形peakspeaksØ创建控件创建控件 前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面,这前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面,这里就不赘述了,如前图里就不赘述了,如前图7-37-3所示。

      所示Ø设置控件对齐方式设置控件对齐方式 若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控件若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控件个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何位个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何位置排列工具对控件的位置进行调整置排列工具对控件的位置进行调整 首先要将待调整的控件同时选中选中方法有两种:一是按住首先要将待调整的控件同时选中选中方法有两种:一是按住““CtrlCtrl””键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再点击下面的,使得所选的控件左对齐,点击点击下面的,使得所选的控件左对齐,点击““确定确定””后,界面设计编后,界面设计编辑器效果如图辑器效果如图7-107-10所示 21图7-10 7-10 调整空整空间位置后的界面位置后的界面设计编辑器外器外观图 22Ø设置控件属性设置控件属性图图7-10 7-10 共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键可以打开按钮属性编辑器,如图可以打开按钮属性编辑器,如图7-117-11所示,该图的左侧是按钮的所有属性,右所示,该图的左侧是按钮的所有属性,右侧是其属性值。

      侧是其属性值图7-11 7-11 按按钮属性属性编辑器外器外观图 23Ø编写回调程序编写回调程序前三部的工作结束后,界面上的三个按钮就要行使其功能了首先,前三部的工作结束后,界面上的三个按钮就要行使其功能了首先,点击菜单栏上的保存按钮进行文件的保存,此时,会弹出点击菜单栏上的保存按钮进行文件的保存,此时,会弹出““save save asas””对话框,如图对话框,如图7-147-14所示,进行所示,进行FIGFIG文件保存,文件命名为文件保存,文件命名为myGUImyGUI图 7-14 7-14 保存保存图形界面的形界面的对话框框图 24同时,同时,MatlabMatlab会自动创建一个同名的会自动创建一个同名的M M文件,并且自动打开,如图文件,并且自动打开,如图7-157-15所示图7-15 7-15 自自动生成的生成的M M文件文件其次,在自动生成的其次,在自动生成的M M文件中,找到与三个按钮有关的回调子函数,本例中的文件中,找到与三个按钮有关的回调子函数,本例中的回调子函数见图回调子函数见图7-167-16所示的光标定位处(这里我们仅截取了按钮所示的光标定位处(这里我们仅截取了按钮1 1的回调子函的回调子函数)。

      数) 25图7-16 7-16 按按钮1 1的回的回调子函数定位子函数定位图 26下面就可以在该子函数的空白处填写回调程序了下面就可以在该子函数的空白处填写回调程序了例如,按钮例如,按钮“sphere”的回调程序为:的回调程序为:sphere;axis tight;按钮按钮“peaks”的回调程序为:的回调程序为:peaks;axis tight;按钮按钮“membrane”的回调程序为:的回调程序为:membrane;axis tight;上面的三个回调程序在自动生成的命名为上面的三个回调程序在自动生成的命名为myGUI的的M文件文件编辑器中录入的情况如图编辑器中录入的情况如图7-17所示,为了减少图占用太大所示,为了减少图占用太大的空间,将编辑器中三个子函数部分的解释性语句已删去的空间,将编辑器中三个子函数部分的解释性语句已删去 27图7-17 M7-17 M文件文件编辑器中的三个按器中的三个按钮的回的回调子函数子函数 28程序录入后,点击保存图标,将程序录入后,点击保存图标,将M文件重新保存,文件重新保存,然后点击然后点击M文件编辑器上的运行快捷按钮或返回文件编辑器上的运行快捷按钮或返回到图到图7-13未被激活的图形界面,点击工具栏上的未被激活的图形界面,点击工具栏上的运行图标,此时则生成如图运行图标,此时则生成如图7-18(a)所示的被激活所示的被激活的图形界面。

      当点击的图形界面当点击“sphere”按钮时,在空白的按钮时,在空白的坐标轴处出现球体,如图坐标轴处出现球体,如图7-18(b)所示;点击所示;点击“peaks”按钮时,在空白的坐标轴处出现尖峰图,按钮时,在空白的坐标轴处出现尖峰图,如图如图7-18(c)所示;点击所示;点击“membrane”按钮时,在按钮时,在空白的坐标轴处出现空白的坐标轴处出现membrane图,如图图,如图7-18(d)所示 29 (a) (a) (b)(b) (c) (d)图图7-18 7-18 运行结果运行结果(a) (a) 被激活后的界面;被激活后的界面; (b) sphere(b) sphere图;图; (c) peaks(c) peaks图;图; (d) membrane(d) membrane图图 30 至此,图形界面的至此,图形界面的GUIGUI向导设计就完成了。

      还有一点向导设计就完成了还有一点需要说明的是,在编写回调程序时,也可以在属性编辑需要说明的是,在编写回调程序时,也可以在属性编辑器的器的CallbackCallback属性中录入代码事实上,两种方法得到属性中录入代码事实上,两种方法得到的结果是相同的但是,第二种方法(直接修改的结果是相同的但是,第二种方法(直接修改CallbackCallback属性值)适用于代码语句少的的情况,如果函属性值)适用于代码语句少的的情况,如果函数体由多条语句组成,最好采用本例所使用的方法数体由多条语句组成,最好采用本例所使用的方法 31第三节第三节 GUIGUI程序设计程序设计 这一节我们将介绍如何应用,用函数编写用户这一节我们将介绍如何应用,用函数编写用户界面,主要涉及三个函数:界面,主要涉及三个函数:uimenu(uimenu(菜单菜单) ),,uicontextmenu(uicontextmenu(上下文菜单上下文菜单) )和和uicontrol(uicontrol(控件控件) )一、用户界面菜单对象和上下文菜单对象的建立一、用户界面菜单对象和上下文菜单对象的建立1 1.. 用户界面菜单对象的建立用户界面菜单对象的建立自制用户菜单对象,通过函数自制用户菜单对象,通过函数uimenuuimenu创建,调用格式创建,调用格式为:为:h=uimenu(h=uimenu(‘‘PropertyName1PropertyName1’’,,value1value1,,‘‘PropertyName2PropertyName2’’,value2,value2,,……) ),, 32即在当前图形窗口上部的菜单栏创建一个菜即在当前图形窗口上部的菜单栏创建一个菜单对象,并返回一个句柄值。

      函数变量单对象,并返回一个句柄值函数变量PropertyNamePropertyName是所建菜单的属性,是所建菜单的属性,valuevalue是属是属性值菜单对象的属性分为公共属性、基本性值菜单对象的属性分为公共属性、基本控制属性和控制属性和callbackcallback管理属性三部分,关于管理属性三部分,关于属性及其的详细内容见属性及其的详细内容见MatlabMatlab帮助文件,这帮助文件,这里介绍一些常用重要属性的设置方法里介绍一些常用重要属性的设置方法 33① label① label和和callbackcallback这是菜单对象的基本属性,编写一个具有基本功能的菜单必这是菜单对象的基本属性,编写一个具有基本功能的菜单必须要设置须要设置labellabel和和callbackcallback属性labellabel是在菜单项上显示是在菜单项上显示的菜单内容;的菜单内容;callbackcallback是用来设置菜单项的回调程序是用来设置菜单项的回调程序② ② checkedchecked和和 separatorseparatorchecked checked 属性用于设置是否在菜单项前添加选中标记。

      记为属性用于设置是否在菜单项前添加选中标记记为””onon””表示添加,表示添加,””offoff””表示不添加因为有些菜单的表示不添加因为有些菜单的选中标记相斥,这就要求给一个菜单项添加选中标记的同选中标记相斥,这就要求给一个菜单项添加选中标记的同时去掉另一个选项的标记;时去掉另一个选项的标记;separator separator 用于在菜单项之前添加分隔符,以便使菜单更加用于在菜单项之前添加分隔符,以便使菜单更加清晰③ ③ Background ColorBackground Color和和 Foreground ColorForeground ColorBackground Color(Background Color(背景色背景色) )是菜单本身的颜色;是菜单本身的颜色;Foreground Color(Foreground Color(前景色前景色) )是菜单内容的颜色是菜单内容的颜色 34【【例例7-27-2】】 建立一个包含用户界面菜单项的图形界面,并可执行菜单项建立一个包含用户界面菜单项的图形界面,并可执行菜单项的相应功能,分别绘制的相应功能,分别绘制membranemembrane、、peakspeaks和和sincsinc函数图形。

      函数图形MatlabMatlab程序如下:程序如下:% % 首先建立一个图形窗口,去除窗口本身包含的菜单条和工具条,并命首先建立一个图形窗口,去除窗口本身包含的菜单条和工具条,并命名为名为myfirstGUImyfirstGUIh0=figure('menubar','none','toolbar','none','name','myfirstGUI');% % 从左至右,依次建立各级菜单从左至右,依次建立各级菜单% % 先建立先建立【【DrawDraw】】菜单和其下的菜单和其下的【【MembraneMembrane】【】【PeaksPeaks】】和和【【SincSinc】】子菜单项子菜单项h1=uimenu(h0,'label','Draw');h11=uimenu(h1,'label','Membrane','callback','membrane');h12=uimenu(h1,'label','Peaks','callback','peaks');h13=uimenu(h1,'label','Sinc','callback',...['[x,y]=meshgrid(-5:0.5:5);','r=sqrt(x.^2+y.^2)+eps;',...'z=sin(r)./r;','surf(z);']);该段代码运行后,生成如图该段代码运行后,生成如图7-197-19所示的带菜单界面图。

      所示的带菜单界面图 35图7-19￿￿生成生成“membrane”的的图形界面形界面 36% % 建立第二个菜单建立第二个菜单【【ColormapColormap】】及其下的及其下的【【CoolCool】【】【HotHot】【】【DefaultDefault】】子子菜单项,当某项被选中时,添加选中标记,同时去掉其它选项的选中标记菜单项,当某项被选中时,添加选中标记,同时去掉其它选项的选中标记h2=uimenu(h0,'label','ColorMap');h22(1)=uimenu(h2,'label','Hot',... 'callback',... ['set(h22,''checked'',''off'');',... 'set(h22(1),''checked'',''on'');','colormap(hot);']);h22(2)=uimenu(h2,'label','Cool',... 'callback',... ['set(h22,''checked'',''off'');',... 'set(h22(2),''checked'',''on'');','colormap(cool);']);h22(3)=uimenu(h2,'label','Spring',... 'callback',... ['set(h22,''checked'',''off'');',... 'set(h22(3),''checked'',''on'');','colormap(Spring);']);该段代码运行后,生成如图该段代码运行后,生成如图7-207-20所示的界面图。

      所示的界面图 37图7-20￿生成生成“hot”效果的效果的图形界面形界面 38% % 建立控制坐标轴的显示菜单建立控制坐标轴的显示菜单【【AxisAxis】】,用于是否显示坐标轴,用于是否显示坐标轴h3=uimenu(h0,'label','Axis'); h31=uimenu(h3,'label','Axis on','callback','axis on');h32=uimenu(h3,'label','Axis off','callback','axis off'); 该段代码运行后,生成如图该段代码运行后,生成如图7-217-21所示的界面所示的界面图 图7-21 7-21 生成生成带坐坐标轴的的图形界面形界面 39% % 建立关闭图形用户界面按钮建立关闭图形用户界面按钮【【closeclose】】hbutton=uicontrol('position'hbutton=uicontrol('position',,[80 30 60 30][80 30 60 30],,'string''string',,'close''close',,'fontsize''fontsize',,8 8,,……'fontweight''fontweight',,'bold''bold',,'callback''callback',,'close'); 'close'); 至此,就形成了一个用户菜单界面,执行结果如图至此,就形成了一个用户菜单界面,执行结果如图7-197-19、、7-207-20和和7-217-21所示的三个图形。

      实际上,运行上面的代码后,所示的三个图形实际上,运行上面的代码后,仅产生一个图形界面,为了让读者看清界面内的主菜单下的仅产生一个图形界面,为了让读者看清界面内的主菜单下的子菜单所对应的功能,在相应的位置给出了该子菜单的子菜单所对应的功能,在相应的位置给出了该子菜单的CallbackCallback属性的回调程序结果属性的回调程序结果 40提示:在单引号内的字符串必须用两单引号提示:在单引号内的字符串必须用两单引号 (不等于双引号)表示所需的单引号;(不等于双引号)表示所需的单引号; 在设置选中标记时在设置选中标记时, ,先用命令先用命令 set( h22,set( h22,””checkcheck””, ,””offoff””),), 将将h22h22中三个句柄对应的菜单项都设中三个句柄对应的菜单项都设 为未选中状态为未选中状态, ,然后然后, ,把选择的菜单项把选择的菜单项 设为选中状态设为选中状态, ,以保证多个选项之间以保证多个选项之间 的互斥性。

      的互斥性 412 2.. 用户界面上下文菜单的建立用户界面上下文菜单的建立 用户界面上下文菜单对象,与固定位置的菜用户界面上下文菜单对象,与固定位置的菜单对象相比,上下文菜单对象的位置不固定,总单对象相比,上下文菜单对象的位置不固定,总是与某个(些)图形对象相联系,并通过鼠标右是与某个(些)图形对象相联系,并通过鼠标右键激活,制作上下文菜单步骤如下:键激活,制作上下文菜单步骤如下:① ① 利用函数利用函数uicontextmenuuicontextmenu创建上下文菜单对象;创建上下文菜单对象;② ② 利用函数利用函数uimenuuimenu为该上下文菜单对象制作具体的为该上下文菜单对象制作具体的菜单项;菜单项;③ ③ 利用函数利用函数setset将该上下文菜单对象和某些图形对将该上下文菜单对象和某些图形对象象 联系在一起联系在一起下面通过示例看一下下面通过示例看一下uicontextmenuuicontextmenu函数的使用函数的使用 42【【例例7-37-3】】 在一个图形窗口绘制抛物线和余弦曲线,并创建一个与之相联系的在一个图形窗口绘制抛物线和余弦曲线,并创建一个与之相联系的上下文菜单,用于控制线条的颜色、线宽、线型及标记点风格。

      上下文菜单,用于控制线条的颜色、线宽、线型及标记点风格MatlabMatlab程序如下:程序如下:% % 画曲线画曲线y1y1,并设置其句柄,并设置其句柄h=h=uicontextmenuuicontextmenu; ; t=-1:0.1:1;subplot(2,1,1);y1=t.^2;h_line1=plot(t,y1); % % 建立上下文菜单建立上下文菜单uimenu(h,'label','red','callback','set(h_line1,''color'',''r'')');uimenu(h,'label','green','callback','set(h_line1,''color'',''g'')');uimenu(h,'label','yellow','callback','set(h_line1,''color'',''y'')');uimenu(h,'label','linewidth1.5','callback','set(h_line1,''linewidth'',1.5)');uimenu(h,'label','linestyle*','callback','set(h_line1,''linestyle'',''*'')');uimenu(h,'label','linestyle:','callback','set(h_line1,''linestyle'','':'')');uimenu(h,'label','marker','callback','set(h_line1,''marker'',''s'')');set(h_line1,‘uicontextmenu’,h) % 使上下文菜单与正弦曲线使上下文菜单与正弦曲线h_line1相联系相联系 title('抛物线和余弦曲线','fontweight','bold','fontsize',14)set(gca,'xtick',[-1:0.5:1]) % 设置坐标轴的标度范围设置坐标轴的标度范围set(gca,'xticklabel',{'-1','0.5','0','0.5','1'}) % 设置坐标轴的标度值设置坐标轴的标度值 43% %画曲线画曲线y2, y2, 并设置其句柄并设置其句柄subplot(2,1,2);t=0:0.1:2*pi;y2=cos(t);h_line2=plot(t,y2);h=uicontextmenu;uimenu(h,'label','red','callback','set(h_line2,''color'',''r'')');uimenu(h,'label','crimson','callback','set(h_line2,''color'',''m'')');uimenu(h,'label','black','callback','set(h_line2,''color'',''k'')');uimenu(h,'label','linewidth1.5','callback','set(h_line2,''linewidth'',1.5)');uimenu(h,'label','linestyle*','callback','set(h_line2,''linestyle'',''*'')');uimenu(h,'label','linestyle:','callback','set(h_line2,''linestyle'','':'')');uimenu(h,'label','marker','callback','set(h_line2,''marker'',''s'')');set(h_line2,'uicontextmenu',h) set(gca,'xtick',[0:pi/2:2*pi])set(gca,'xticklabel',{'0','pi/2','pi','3pi/2','2pi'})xlabel('time 0-2\pi','fontsize',10) 44% % 建立关闭图形用户界面按钮建立关闭图形用户界面按钮【【closeclose】】hbutton=uicontrol('position',[80 30 60 30],'string','close', 'fontsize',8,'fontweight','bold','callback','close'); 在在MatlabMatlab中运行该程序段,得到如图中运行该程序段,得到如图7-227-22所示图形。

      将鼠标指所示图形将鼠标指向线条,单击鼠标右键,弹出上下文菜单,在选中某菜单项后,向线条,单击鼠标右键,弹出上下文菜单,在选中某菜单项后,将执行该菜单项的操作将执行该菜单项的操作 45 (a) (b)(a) (b) 图图7-22 7-22 带有上下文菜单的图形界面带有上下文菜单的图形界面(a) (a) 将抛物线的线型设为将抛物线的线型设为““* *””时的图形界面;时的图形界面;(b) (b) 将余弦曲线的线宽设为将余弦曲线的线宽设为““1.51.5””时的图形界面时的图形界面 46二、用户界面控件对象的建立二、用户界面控件对象的建立Ø除了菜单以外,控件对象是另一种实现用户与计算机交互的重要手段除了菜单以外,控件对象是另一种实现用户与计算机交互的重要手段用户界面控件对象是这样一类图形界面的对象:用户用鼠标在控件对象上用户界面控件对象是这样一类图形界面的对象:用户用鼠标在控件对象上进行操作,鼠标点击控件时,将激活该控件所对应的后台应用程序,并执进行操作,鼠标点击控件时,将激活该控件所对应的后台应用程序,并执行该程序。

      利用函数命令创建控件对象的格式为:行该程序利用函数命令创建控件对象的格式为: H= H=uicontroluicontrol ('PropertyName1' ('PropertyName1',,value1value1,,'PropertyName2''PropertyName2',,value2value2,,……) ) 当用函数创建控件时,这里我们有必要对控件的几个重要属性给予介绍当用函数创建控件时,这里我们有必要对控件的几个重要属性给予介绍 47Value属性:属性:控件的当前值,格式为标量或变量该属性对不同的控件有控件的当前值,格式为标量或变量该属性对不同的控件有不同的取值方式,分别为:不同的取值方式,分别为:Ø复选框:当此控件被选中时,复选框:当此控件被选中时,Value的值为属性的值为属性Max中的设置的值;中的设置的值;未被选中时未被选中时Value 的值为属性中设置的值的值为属性中设置的值Ø列表框:被选中选项的序号,当有多个选项被选中时,列表框:被选中选项的序号,当有多个选项被选中时,ValueValue的属性值为向量序号指的是选项的排列次序,的属性值为向量。

      序号指的是选项的排列次序,最上面的选项序号为最上面的选项序号为1 1,第二个选项序号为,第二个选项序号为2 2Ø弹出式菜单:和列表框类似,也是被选中选项的序号,弹出式菜单:和列表框类似,也是被选中选项的序号,只是弹出式菜单只能有一个选项被选中,因而只是弹出式菜单只能有一个选项被选中,因而ValueValue属性值是标量属性值是标量Ø单选按钮:被选中时单选按钮:被选中时ValueValue的值为属性的值为属性MaxMax中设置的值:中设置的值:未被选中时,未被选中时,ValueValue的值为属性的值为属性MinMin中设置的值中设置的值Ø滑动条:滑动条:ValueValue的值等于滑块指定的值的值等于滑块指定的值Ø开关按钮:开关按钮:““开开””时时ValueValue的值为属性的值为属性MaxMax中设置的值:中设置的值:““关关””时时ValueValue的值为属性的值为属性MinMin中设置的值中设置的值 48MaxMax属性:属性:指定指定ValueValue属性中可以设置的最大值,格式为标量该属性对不属性中可以设置的最大值,格式为标量该属性对不同的控件有不同的含义,分别如下所述:同的控件有不同的含义,分别如下所述:Ø复选框:当复选框被选中时复选框:当复选框被选中时ValueValue属性的取值。

      属性的取值Ø编辑框:如果编辑框:如果MaxMax的值减去的值减去MinMin的值大于的值大于1 1,那么编辑框可以接受多行输,那么编辑框可以接受多行输入文本;如果入文本;如果MaxMax的值减去的值减去MinMin的值小于或等于的值小于或等于1 1,那么编辑器只能接受一,那么编辑器只能接受一行输入文本行输入文本Ø列表框:如果列表框:如果MaxMax的值减去的值减去MinMin的值大于的值大于1 1,那么允许选取多个选项;如,那么允许选取多个选项;如果果MaxMax的值减去的值减去MinMin的值小于或等于的值小于或等于1 1,那么只能选取一个选项那么只能选取一个选项Ø单选按钮:当单选按钮被选中时单选按钮:当单选按钮被选中时ValueValue属性的取值属性的取值Ø滑动条:滑动条的最大值,缺省值是滑动条:滑动条的最大值,缺省值是1 1Ø开关按钮:当开关按钮开关按钮:当开关按钮““开开””(被选中)时(被选中)时ValueValue属性的取值缺省值属性的取值缺省值是是1 1文本框、弹出式菜单、按钮和静态文本框无此属性文本框、弹出式菜单、按钮和静态文本框无此属性 49MinMin属性:属性:指定指定ValueValue属性中可以设置的最小值,格式为标量。

      属性中可以设置的最小值,格式为标量该属性对不同的控件有不同的含义,分别如下所述:该属性对不同的控件有不同的含义,分别如下所述:Ø复选框:当复选框被选中时复选框:当复选框被选中时ValueValue属性的取值属性的取值Ø编辑框:如果编辑框:如果Max Max 的值减去的值减去MinMin的值大于的值大于1 1,那么编辑框可以接受多行输,那么编辑框可以接受多行输入文本;如果入文本;如果MaxMax的值减去的值减去MinMin的值小于或等于的值小于或等于1 1,那么编辑器只能接受一,那么编辑器只能接受一行输入文本行输入文本Ø列表框:如果列表框:如果MaxMax的值减去的值减去MinMin的值大于的值大于1 1,那么允许选取多个选项;如果,那么允许选取多个选项;如果MaxMax的值减去的值减去MinMin的值小于或等于的值小于或等于1 1,那么只能选取一个选项那么只能选取一个选项Ø单选按钮:当单选按钮未被选中时单选按钮:当单选按钮未被选中时ValueValue属性的取值属性的取值Ø滑动条:滑动条的最小值,缺省值是滑动条:滑动条的最小值,缺省值是0 0Ø开关按钮:当开关按钮开关按钮:当开关按钮““开开””(被选中)时属性的取值。

      缺省值是(被选中)时属性的取值缺省值是1 1文本框、弹出式菜单、按钮和静态文本框无此属性文本框、弹出式菜单、按钮和静态文本框无此属性 50【【例例7-47-4】】 建立一个包含控件的图形用户界面,点击控件时执行该控件的建立一个包含控件的图形用户界面,点击控件时执行该控件的相应功能,要求绘制相应功能,要求绘制membranemembrane,,peakspeaks和和spheresphere函数图形,并有光照控制函数图形,并有光照控制效果 % 建立图形窗口和坐标轴,去除窗口本身的菜单条和工具条,并命名为建立图形窗口和坐标轴,去除窗口本身的菜单条和工具条,并命名为 mysecondGUImysecondGUIh0=figure('menubar','none','toolbar','none','position',[198 56 408 468],'name','mysecondGUI');h1=axes('parent',h0,'position',[0.15 0.45 0.7 0.5],'visible','off');% % 建立静态文本框和动态文本框建立静态文本框和动态文本框htext1=uicontrol('parent',h0,'units','points','position',[54 110 45 15],'string','input title','style','text');hedit=uicontrol('parent',h0,'units','points','position',[100 110 45 16],'callback','title(get(hedit,''string''))','style','edit'); 51% % 创建三个按钮创建三个按钮hbutton1=uicontrol('parent',h0,'units','points','string','Sphere',... 'position',[20 65 50 18],'callback','mesh(sphere);axis tight');hbutton2=uicontrol('parent',h0,'units','points','string','Membrane',... 'position',[75 65 50 18],'callback','mesh(membrane);axis tight');hbutton3=uicontrol('parent',h0,'units','points','string','Sinc','position',[135 65 50 18],'callback',...['[x,y]=meshgrid(-5:0.5:5);','r=sqrt(x.^2+y.^2)+eps;','z=sin(r)./r;','mesh(x,y,z)']);% % 创建静态文本框和滚动条,鼠标拖动滚动条控制图形的颜色变化创建静态文本框和滚动条,鼠标拖动滚动条控制图形的颜色变化htext2=uicontrol('parent',h0,'units','points','position',... [20 30 45 15],'string','brightness','style','text');hslider=uicontrol('parent',h0,'units','points','position',... [65 30 120 15],'min',-1,'max',1,'style','slider','callback',...'brighten(get(hslider,''value''))');% % 建立静态文本框和五个单选按钮建立静态文本框和五个单选按钮 52htext3=uicontrol('parent',h0,'units','points','position',...[200 130 80 15],'string','select color:','style','text');hradio(1)=uicontrol('parent',h0,'units','points','position',...[200 115 80 15],'string','default','style',...'radiobutton','value',1,'callback',...['set(hradio,''value'',0);','set(hradio(1),''value'',1);',...'colormap(''default'')']);hradio(2)=uicontrol('parent',h0,'units','points','position',...[200 100 80 15],'string','spring','style',...'radiobutton','value',1,'callback',...['set(hradio,''value'',0);','set(hradio(2),''value'',1);',...'colormap(spring)']);hradio(3)=uicontrol('parent',h0,'units','points','position',...[200 85 80 15],'string','summer','style',...'radiobutton','value',1,'callback',...['set(hradio,''value'',0);','set(hradio(3),''value'',1);',...'colormap(summer)']); 53hradio(4)=uicontrol('parent',h0,'units','points','position',...[200 70 80 15],'string','autumn','style',...'radiobutton','value',1,'callback',...['set(hradio,''value'',0);','set(hradio(4),''value'',1);',...'colormap(autumn)']);hradio(5)=uicontrol('parent',h0,'units','points','position',...[200 55 80 15],'string','winter','style',...'radiobutton','value',1,'callback',...['set(hradio,''value'',0);','set(hradio(5),''value'',1);',...'colormap(winter)']);% % 建立关闭图形用户界面按钮建立关闭图形用户界面按钮【【closeclose】】hbutton4=uicontrol('parent',h0,'units','points','string','Close',... 'position',[200 30 50 18],'callback','close'); 54至此,一个带有控件的图形用户界面就建好了,把上述程序保存,生成一个至此,一个带有控件的图形用户界面就建好了,把上述程序保存,生成一个M M文文件,命名为件,命名为mysecondGUImysecondGUI,然后在,然后在MatlabMatlab的命令窗口运行此文件,会生成一个下的命令窗口运行此文件,会生成一个下半部分仅带控件,上半部分为空的图形界面。

      在静态文本框中输入半部分仅带控件,上半部分为空的图形界面在静态文本框中输入““sincsinc””,,点击点击““SincSinc””按钮,则产生如图按钮,则产生如图7-237-23所示的图形界面所示的图形界面图7-23 7-23 生成生成SincSinc图形的形的GUIGUI界面界面 55 同理,点击另外两个按钮同理,点击另外两个按钮““SphereSphere””和和““MembraneMembrane””,会生成相应,会生成相应的三维图形;在滚动条上按住鼠标左键不动,拖动鼠标会产生不同的明的三维图形;在滚动条上按住鼠标左键不动,拖动鼠标会产生不同的明亮度效果;用鼠标点击单选按钮,会产生不同的色彩效果这里就不一亮度效果;用鼠标点击单选按钮,会产生不同的色彩效果这里就不一一给出界面图了一给出界面图了提示提示: : 在在【【例例7-7-22】】中的代码中的代码““r=sqrt(x.^2+y.^2)+epsr=sqrt(x.^2+y.^2)+eps””中出现了中出现了 ““epseps””,它是误差容限,或者说是一个极其微小的趋紧于,它是误差容限,或者说是一个极其微小的趋紧于0 0的的 非零小数,这里之所以要把它加进来,是因为变量非零小数,这里之所以要把它加进来,是因为变量r r是是 ““z=sin(r)./rz=sin(r)./r””的分母,而根据对的分母,而根据对x x和和y y的赋值,存在的赋值,存在r=0r=0这种这种 情况,加上情况,加上epseps后,可以避开分母为零的非法情况,若不加后,可以避开分母为零的非法情况,若不加epseps,, 尽管也会得到运行结果,但在命令窗口会出现尽管也会得到运行结果,但在命令窗口会出现““Warning: DivideWarning: Divide by zero. by zero.””这样的警告提示。

      在这个窗口中这样的警告提示在这个窗口中, ,我们去掉了菜单栏我们去掉了菜单栏 和工具条和工具条, ,是由代码第一行中是由代码第一行中'menubar','none','toolbar','none''menubar','none','toolbar','none' 完成的完成的, ,若无此代码若无此代码, ,则界面图上会出现菜单栏和工具条则界面图上会出现菜单栏和工具条。

      点击阅读更多内容
      相关文档
      【全国硕士研究生入学统一考试政治】2020年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2015年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2010年考研政治真题.docx 【全国硕士研究生入学统一考试政治】1996年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2001年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2016年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2000年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2007年考研政治真题.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2004年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2003年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2019年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2009年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2001年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2021年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2014年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2018年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2008年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2011年考研政治真题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.