搜档网
当前位置:搜档网 › GUI指导教程系列

GUI指导教程系列

GUI指导教程系列
GUI指导教程系列

GUI指导教程系列(1):GUI入门基本操作为什么在Matlab中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序。

如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都有这个能力。就好比计算机的DOS系统,在有windows的情况下,您会选择DOS吗?当然也不排除骨灰级的人物。

在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB基础知识是需要的。在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。

什么Matlab还没有安装?那请您先看下论坛的【MATLAB下载安装】版块(最新版本2009b,4.75GB),里面有您在Matlab下载安装过程中需要的一些资料,下面开始我们的教程。

一、打开和创建GUI界面

1、首先打开Matlab,在Command Window中输入guide回车。

当然也可以通过工具栏的GUIDE按钮直接打开。

2、此时打开GUI编辑器GUIDE(GUI Developer的缩写)

2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI”。如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI就点击第二个标签吧。

2.2 这里我们选择第一个标签下的“Blank GUI”(空白GUI),下面还有几个系统GUI模板,你可以根据需要选择其它的模板。

2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识。

3、添加你需要的控件到figure中,在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了,不利于您的编程。下面是我们构思的布局。

二、添加控件和设置属性

在正式讲解之前,我们先讲解下GUI中的鼠标基本操作:

(a) 在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标。

(b) 在右边的figure中按住左键,画出您的控件,于是控件就出现在figure上。

(c) 你可以用鼠标拖拽figure上所有控件,来改变他们的位置。

(d) 在控件上双击鼠标左键(右击是快捷菜单)可打开控件“属性查看器”。

1、从上面的布局构思,我们知道本GUI需要以下控件:

:两个“编辑文本框”(Edit Text);

:四个“静态文本框”(Static Text);

:一个“确定按钮”(Push button);

按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure 中,如下图所示。

2、接下来就是编辑这些控件的属性

下面从Static Text开始,双击其中一个“静态文本框”,将弹出该控件的“属性查看器”(Property Inspector)。

GUI控件的几个常用属性说明如下:

position:指示空间在figure中的位置

font**:字体相关属性

string:相当如VB中的caption,就是显示在控件上的文字

tag:控件的唯一标识符,相当于ID,我们需要tag来指定figure 中的某一个控件。

2.1 在这里把它的“ string ”属性修改为“ + ”;

2.2 再修改它的“ fontsize ”属性为20。

编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。回到GUIDE,如果控件上的文字被部分隐盖,此时可以通过鼠标拖拽改变控件的大小。

2.3 重复上面的操作:

(1)将第二个“ Static Text ”的“ string ”改为“ = ”;

(2)将第二个“ Static Text ”的“ fontsize ”改为20;

(3)将第三个“Static Text ”的“string ”改为“My Adder GUI”;

(4)将第三个“ Static Text ”的“ fontsize ”改为20;

(5)将第四个“ Static Text ”的“ string ”改为“ 0 ”;

(6)将第四个“ Static Text ”的“ tag ”改为

“ answer_staticText ”。

于是,我们将得到如下所示的GUI界面:

2.4 下面双击Edit Text,修改“编辑文本框”的属性:

(1)第一个“Edit Text ”的用来存储第一个加数,我们将“string”改为“0”,“tag”改为“input1_editText”。

(2)第二个“Edit Text ”的用来存储第二个加数,我们将“string”改为“0”,“tag”改为“input2_editText”。

2.5 修改Pushbutton按钮的属性,“string”改为“Add!”,“tag”改为“add_pushbutton”。

再次预览下我们现在得到的GUI界面

3、重新布局和移动控件位置,使其美观。

将上面编辑完的GUI程序保存为myAdder,此时在当前目录下,Matlab将自动生成如下来个两个文件myAdder.m和myAdder.fig。

.fig文件包含了程序的图形用户界面,.m文中包含了GUI所需的回调函数和其他必须代码。

三、书写GUI回调函数(callback)代码

在保存GUI程序时,Matlab会自动生成.fig和.m文件,其中的.m 就是我们现在要操作的对象。

我们就是在M文件中添加控件的回调函数,来完成用户的相应操作,这也是GUI编程的核心内容,它要求你必须掌握Matlab基本编程以及图形句柄语句。

打开.m文件,发现里面有很多function的代码,看得我们眼花缭乱,呵呵,不要胆怯!本教程是初级教程,我们只涉及里面的callback,其它的项我们可以暂时置之不理,我们以后的教程中对其它项做出相关地介绍。

在正式讲解之前,先介绍一个使用小技巧,Matlab Editor(代码

编辑器)工具栏显示函数按钮,可以让我们快速跳转我们需要的函数位置,这个在.m文件的内容很多的时候是很有用的。

1、在Editor中的工具栏上,单击Show Function,从中选择input1_editText_Callback,或者右击tag为input1_editText的编

辑文本框,View Callback→Callback。

2、此时光标会跳转到.m文件的function input1_editText_Callback 处,以方便我们直接编辑。

function input1_editText_Callback(hObject, eventdata, handles)

% hObject handle to input1_editText (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'String') returns contents of input1_editText as text % str2double(get(hObject,'String')) returns contents of input1_editText as a double

在上面代码下面添加如下MATLAB代码:

% handles 包含figure中所有图形对象句柄的结构体,如果我们想引用tag为

mytag的控件,使用handles.mytag。

% set/get 函数是用来设置/获取某个控件属性。

% 使用get命令获取第一个加数,并将它转换成数值。

input = str2num(get(hObject,'String')); % string属性是字符串,所以必须转换成数值。

% 检验输入是否为空,是则将它置为0

if (isempty(input))

set(hObject,'String','0')

end

% 保存handles结构体,只要在handles结构体有改变时,才需要保存。guidata(hObject, handles);

% 这里由于handles没有改变,故这里其实没有必要,但是为了避免潜在的不必要麻烦,建议在所有Callback最后都添加该命令。

3、为input2_editText_Callback添加完全相同的代码。

4、编辑add_pushbutton_Callback回调函数,使用上面提到的方法,将光标定位到

% --- Executes on button press in add_pushbutton.

function add_pushbutton_Callback(hObject, eventdata, handles)

% hObject handle to add_pushbutton (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 在后面我们添加上如下代码:

a = get(handles.input1_editText,'String');

b = get(handles.input2_editText,'String');

% a和b是字符串变量,我们需要使用str2double函数将其转换为数值

% 然后才能相加,否则字符串是没法相加的

total = str2num(a) + str2num(b); % 格式转换,转换为数值

% 由于string属性是字符串,所以必须将两个数的和转换为字符串

c = num2str(total); % 转换为字符串

%将结果赋值给answer_staticText空间的string属性,于是就可以显示结果了。

set(handles.answer_staticText,'String',c);

guidata(hObject, handles); % 更新结构体

恭喜您,到此为此这个GUI程序就完成了!接下来就可以运行和演示它了。

有一个小技巧要告诉大家的,如果您在第一次保存GUI程序时,不想让Matlab为每一个callback回调函数自动生成注释文本,可以如下操作:File→Preferences...

如果不想让Matlab自动生成fig文件,而只是生成M文件,可以如下操作:Tools→GUI Option

四、GUI程序打开、运行和发布

1、想在GUIDE中打开一个写好的GUI程序,可有两种方法

1.1 如上面所说的,在打开GUIDE界面时,我们可以选择“Open Existing GUI”,然后选中你需要打开的GUI程序。

1.2 直接在Current Directory选中*.fig文件,然后右击选择“Open In GUIDE”

2、运行编辑好的GUI程序方法主要有三种方法

2.1 点击GUIDE工具栏的run按钮,如下图所示

2.2 从Command Window命令行运行,首先将MATLAB当前目录切换到*.fig和*.m文件所在目录(两个必须同在当前目录或者都在搜

索路径下)

接着在Command Window中输入GUI的文件名(不需要扩展名)myAdder,然后回车。

2.3 直接在Current Directory中选中myAdder.m,右击选择“Run File”即可。通过上面三种方法中任意一种,GUI程序将开始运行,并显示如下:

3、执行GUI程序功能:

在两个文本框中输入分别输入两个加数,然后点击Add!按钮,此时和将显示在“ = ”右边的文本框中。

五、程序常见问题(bug)解答

如果你的GUI程序没有正确运行,或者频频报错,而苦于没法找

到错误在哪里,这里有几个小技巧希望能帮助您找到bug。

1、如果是语法错误,Command Window中会以命令行的形式告诉您bug所在的文件、行号,以及简短的错误描述,当然摆平这样的bug你必要有一定Matlab基础。

2、确保您的变量名在整个代码中前后一致,注意大小写,否则不小心敲错的字母。同理控件的tag属性在.fig和.m文件中必须同步,比如说你要获取tag为input1_editText的编辑文本框的string,此时一定注意要与代码中tag一致,即就是如下所示:

a = get(handles.input1_editText,'String');

这一条特别是在你重新修改某个控件的tag之后尤为值得注意。

3、在code中适当设置断点,程序运行到断点的时候会暂停,此时我们可以方便的获取程序中的中间变量值,这是一个不错的调试方法,也是最经常用到的。(断点如何设置?在代码左边行号旁边点击下就设置了一个断点了)

4、整个GUI程序的代码可以到这里下载。

5、如果你是刚开始的菜鸟,的确找不到错误在哪里,那建议您把整个过程再来一次。

Matlab GUI编程教程

Matlab GUI编程教程 介绍 什么是GUI呢 ? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C 语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default)

2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。 3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

Mkvmerge_GUI教程

Nov 6 使用mkvmerge gui 2.3 提取,合并,剔除及剪切延时操作MKV文件的图文教程_BentleyWu_百度空间 Post at 2010-11-6 in 网志精选 | 0 comments | 引用:0 MKV文件由视频,音轨,字幕三大独立模块组成,MKV只是一个封装容器,把3大模块封装在了一起。编辑MKV文件mkvmerge软件是必须工具。 需要软件mkvmerge gui 2.3 下载:https://www.sodocs.net/doc/e510468813.html,/auto/stable/mkvtoolnix-unicode-2.3.0.zip 解压后点击mkvmerge.exe 即可 1.提取,合并,剔除等封装操作。

把mkv文件往mkvmerge软件里面拖,可见上图的mkv文件由7大独立模块合成的 第1轨道 V_MPEG4 ... 这是1条视频轨道 第23轨道 A_AAC ... 这是2条音频轨道 第4567轨道 S_TEXT ... 这是4条字幕轨道 1.1 剔除 如果你不想要 007皇家赌场无删节.Casino.Royale.2006.BDRip.x264.2Audio.AAC.miniSD-TLF.mkv这个文件的国语音轨,选中第3轨道,track name(轨道名)为chi,说明是国语音轨,只要把前面的√去掉,换一个文件名保存即可。 1.2 提取 如果你想提取国语音轨,那么除了第3轨道打上√外,其他√都去掉,保存即可。 1.3 合并 对于外挂的音轨,也是一样的,先打开原mkv文件,再把外挂音轨往mkvmerge软件里面拖,然后点up(向上)至A_AAC ... 轨道,然后保存 1.4总的来说,也就是,你想要的就打上√,不要的就去掉√,然后保存。 1.5 分段文件的合并 如果有两个mkv,一个是上集,一个是下集,要合并这两个就另当别论了。先打开上集,然后点如图1的“append”(追加),出现如图2即可,然后保存。

Dynamipsgui入门教程

Dynamipsgui入门教程 声明:本文主要是为刚刚认识dynamips这个模拟器的朋友.我写这个东西也是因为这个模拟器比较有实用价值.希望大家用好这个模拟器.完成学习.有什么问题欢迎大家在本论坛发帖. 不说废话了直接进入主题吧,看门见图: 首先我按图中序号对每个区域进行介绍: ①:此区域是选择交换机和路由器的个数(有点废话) ②:这个地方是选择设备类型,IOS路径,idle-p值NPE类型,虚拟(表示虚拟设备的RAM所占的内存大小,因为dynamips在模拟时候需要将主机的物理内存模拟成模拟设备的RAM) ③:此区域是配置分布式的dynamips的设置区域(请看分布式专题),对谛率掷此?这个区域暂时还用不到. ④:这里可以选择一些不需要IOS的模拟设备。如:FrameRelay交换机ATM交换机,以太网交换机(现在已经有支持交换的模块NM-16ESW).由模拟器自己提这些功能. ⑤:设备类型,选择你所需要模拟的设备,以上的设备为dynamips目前支持的类型,其他的都不支持. ⑥:这里可以设置连接到主机通信(下文详细介绍) ⑦:可以直接读取真实设备里的NVRAM里的配置文件(.ini格式) ⑧:输出目录(自己先建立).

(根据上面这个拓扑来介绍,希望大家在弄懂基本东西以后,可以在举一反三吧.东西是活的,活学活用) 接下来,我从起始配置到最后开始实验在做逐步讲解. 1.首先选择根据上面这个拓扑图(建立在做实验的时候在草稿纸上画好拓扑图,注释好个端口设备的IP).我们来用dynamipsGUI来配置脚本文件 (注意:现在的dynamipsGUI和dynamipsee都是可以视化的写dynamips的脚本程序.不是模拟器.有的初学者.总以为这两个程序是模拟器.真正的模拟器是dynamips 点击进入作者BLGO).未安装的朋友请点下载.下载好安装.点击桌面DynamipsGUI图标打开. 2.好了,打开以后,根据上面的图我们假设R1,R2,R3都使用3640,而R4使用7200.那么我们选择路由器个数为4,并选择桥接到PC.在⑤设备类型里钩选3640 和7200.如图:

GUI新手之教你读懂GUI的M文件——非常经典

[教程] GUI新手之教你读懂GUI的M文件——非常经典 GUIDE生成的GUI的M文件控制了你编制的GUI界面的所有属性和行为,或者说外观和对用户操作的响应。比如说按下一个按钮或者选择了一个菜单项之类。M文件包括了运行你整个界面程序所需要的全部代码,包括所有GUI组件的CALLBACKS函数。其实这些callbacks 函数算是M文件里的子程序,callback里面就填写你所期望程序做的动作,比如画一个图或者算一个算式。 ------------------------------------------------------- 插入,关于什么是子程序懂的人跳过^_^ function [avg, med] = newstats(u) % Primary function % NEWSTATS Find mean and median with internal functions. n = length(u); avg = mean(u, n); med = median(u, n); function a = mean(v, n) % Subfunction % Calculate average. a = sum(v)/n; function m = median(v, n) % Subfunction % Calculate median. w = sort(v); if rem(n, 2) == 1 m = w((n+1) / 2); else m = (w(n/2) + w(n/2+1)) / 2; end 以上就是一个大的程序function nestats,它下面另外包含了两个小的function mean和median,这样在大程序的里面就可以以如上的方式调用它们了。子程序的好处在于如果你总是要重复用到一组计算方式的时候,那你就把这组重复计算方式类似以上的方法编写成一个子程序,避免大量重复代码。在M文件里面,会看到最外层,也就是最上面那一一行function varargout = setfire(varargin) (setfire是我m文件存的名字)就是那个大程序框,它下面有很多小function 比如什么什么creatFcn或者什么callback之类。看上去那个复杂,其实就跟上面这个一样的道理。只不过是M文件的类似avg = mean(u, n);med = median(u, n);这两句话系统隐藏(就当它是隐藏好了)起来了,它会在你点击鼠标(或者响应操作)时候自动去调用执行一次callback函数。所以你只用管把代码写入响应的函数名下就行了。至于系统为什么会自动调用,我们不用管,我们只用知道,我点击鼠标,我拖动滑竿时,系统会执行哪里的代码。就够了。 ----------------------------------------------------插入结束----------------------------------------------- 一、M文件的数据管理模式----------------------------------------------------------------- Sharing Data with the Handles Structure 用handles这个东西共享数据 在你运行你的GUI的时候,M文件会自动生成一个叫做handles的东西(准确的说它属于handles 类型的结构体,且取的名字也叫做handles),不用管那么复杂,只用知道你可以从它这里找到GUI的所有数据,比如说控件的信息,菜单信息,axes 信息。想象handles 就是一个缸了,它里面装载了所有的信息,而且这个缸在各个控件的callback之间传来传去,

matlab中gui教程

11 图形用户界面(GUI )制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。 图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。 即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提供的程序,就可引出相应的界面。 本章第2节叙述图形用户界面的设计原则和一般制作步骤。第3、4节分别介绍用户菜单、用户控件的制作。出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。 11.1 入门 【*例11.1-1】对于传递函数为1 212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。 (1)产生图形窗和轴位框: clf reset H=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);

教程系列十--使用mStudio开发MiniGUI应用程序

天行健,君子以自强不息;地势坤,君子以厚德载物 天 嵌 通 途 工 作 室 教程系列 <十> 使用mStudio开发MiniGUI应用程序 工作室网址 https://www.sodocs.net/doc/e510468813.html,/embedroad BBS https://www.sodocs.net/doc/e510468813.html,/embedroad/bbs 金 陵 科 技 学 院 信息技术学院 天嵌通途工作室教程系列/ EmbedRoad Studio Tutorials Series

https://www.sodocs.net/doc/e510468813.html,/embedroad jinwenjie2007@https://www.sodocs.net/doc/e510468813.html, 第 2 页 共 11 页 天嵌通途工作室是由学生自发组织的半商业性质的团体, 主要由金陵科技学院嵌入式爱好者以及软件工程爱好者组成, 使用mStudio开发MiniGUI应用程序 mStudio 是飞漫软件推出的面向MiniGUI 开发的一款可视化集成开发环境,基于Eclipse CDT,为开发人员提供所见即所得(WYSIWYG)的界面设计环境,同时,自动生成代码,维护工程框架等。运行于Windows 版本的mStudio 采用了MinGW 运行环境。 版本与运行环境: FMSoft mStudio 1.0 with MiniGUI-BE V3.0 for Windows 支持操作系统:Windows 2000 / XP / 7操作系统 支持硬件平台:x86 一、软件安装 1.1 安装C/C++运行环境 如果您未安装VS2005的运行环境,请安装vcredist_x86.exe ,也可以在工作室网站上下载:https://www.sodocs.net/doc/e510468813.html,/embedroad/down.asp 。 如果你已经装过VS2005集成开发环境,则这步可以省略。 1.2 安装JRE或者JDK 如果您未按照JRE运行环境,请安装Windows版本JRE 。 (jre-6u19-windows-i586.exe) 以上两个全部默认路径安装即可。JRE 的安装目录是:C:\Program Files\Java。 1.3安装mStudio 下载网址:https://www.sodocs.net/doc/e510468813.html,/index.php?id=136&L=1。 运行mStudio-1.0-MiniGUI-BE-3.0-MinGW-en.msi ,这个软件免费,一路默认安装即可。 1.4 选择Workspace路径 双击软件运行Eclipse,第一次启动时需要选择Workspace 路径,但工程存储路径中不能包含空格和中文字符。例如:

matlab gui教程

什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;

布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字, 则现实空白内容 input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0 if(isempty(input)) set(hObject,'String','0')

经典GUI基础入门:MATLAB中GUI用户图形界面学习

GUI指导教程系列(1):GUI入门基本操作 为什么在MATLAB中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序! 如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。就好比计算机的DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物! 在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB 基础知识是需要的。在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。 好下面开始我们的教程! 一、打开和创建GUI界面 1、首先打开Matlab,在Command Window中输入guide回车 2、此时打开GUI编辑器GUIDE(GUI Developer的缩写) 2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI” 如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧

2.2 这里我们选择第一个标签下的“Blank GUI”(空白GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。 2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识 3、添加你需要的控件到figure中 在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。下面是我们构思的布局。

一个实例搞定MATLAB界面编程(最好的matlab gui界面编程入门教程)

一个实例搞定MATLAB界面编程 作者:彭军 邮件:pjun9@https://www.sodocs.net/doc/e510468813.html, 博客:https://www.sodocs.net/doc/e510468813.html,/pengjun 下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB 编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧! 在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE界面,如下: 然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下:

点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下: 在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图: 在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:

如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。

保存我的界面为pjimage.fig.保存完毕之后,会自动打开pjimage.m文件,而我们所有的程序都是要写在这个M文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback 函数。那么我们的菜单项也是如此的。 在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于Tag属性和String属性。 设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。如下: 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure.我们会看到如下的界面: 那说明,我们保存的.fig文件的目录不是当前目录,但是没关系啊,我们只要点击“Change Directory”来改变当前目录。当然,如果你想把当前目录添加到MATLAB路径也可以,那就点击“Add to Path”就OK了。我在这里推荐点击“Change Directory”,因为没有什么太大必要把其添加到MATLAB路径中,一般是工具箱需要添加或者我们的函数或程序写完了,而在MATLAB的命令窗口找不到我们的函数的时候,我们可以将函数或程序所在的目录添加到MATLAB路径。 总之吧,点那个按钮,要看个人的爱好了。不管点击两个按钮的那一个按钮,都会正确的运行程序的。 我们的程序运行时的样子,是这样的:

DynamipsGUI详细使用教程(图文讲解)

DynamipsGUI2.7使用介绍 DynamipsGUI前身源于美国加利福尼亚一黑客的杰作,为此CISCO也是相当的不爽,此模拟器可以自己选择加载IOS,能比较真实的再现硬件环境。不象boson那样的傻瓜样式的就是打字联系命令。 首先我按图中序号对每个区域进行介绍: ①:此区域是选择交换机和路由器的个数(有点废话) ②:这个地方是选择设备类型,IOS路径,idle-p值NPE类型,虚拟(表示虚拟设备的RAM所占的内存大小,因为dynamips在模拟时候需要将主机的物理内存模拟成模拟设备的RAM) ③:此区域是配置分布式的dynamips的设置区域.这个区域暂时还用不到. ④:这里可以选择一些不需要IOS的模拟设备。如:FrameRelay交换机ATM交换机,以太网交换机(现在已经有支持交换的模块NM-16ESW).由模拟器自己提这些功能. ⑤:设备类型,选择你所需要模拟的设备,以上的设备为dynamips目前支持的类型,其他的都不支持. ⑥:这里可以设置连接到主机通信(下文详细介绍) ⑦:可以直接读取真实设备里的NVRAM里的配置文件(.ini格式) ⑧:输出目录(自己先建立)

(根据上面这个拓扑来介绍,希望大家在弄懂基本东西以后,可以在举一反三吧.东西是活的,活学活用) 接下来,我从起始配置到最后开始实验在做逐步讲解. 1.首先选择根据上面这个拓扑图(建立在做实验的时候在草稿纸上画好拓扑图,注释好个端口设备的IP).我们来用dynamipsGUI来配置脚本文件(注意:现在的dynamipsGUI和dynamipsee都是可以视化的写dynamips的脚本程序.不是模拟器.有的初学者.总以为这两个程序是模拟器.真正的模拟器是dynamips).未安装的朋友请点下载好安装.点击桌面DynamipsGUI图标打开. 2.好了,打开以后,根据上面的图我们假设R1,R2,R3都使用3640,而R4使用7200.那么我们选择路由器个数为4,并选择桥接到PC.在⑤设备类型里钩选3640 和7200.如图: 3.在②设备配置区域里下拉选择7200,然后浏览选择你的IOS文件.(注意IOS在网上下载后,后缀名为BIN,大家需要将后缀名字改为RAR,然后在解压出来,这样在运行模拟设备时候就避免了再解压).接一下步是最让初学者感到困惑的地方.计算idle-pc值(idle-pc只为了解决在开启模拟设备时不至于你的CPU占有率达到100%,所以这个值对于能做好实验很重要).好.指定好IOS路径以后.我们点击计算idle-pc,确定IOS文件存在.之后在弹出窗口中按任意键继续.如图:

Matlab对话框GUI界面教程

MATALB的标准图形用户界面 1. 消息对话框 msgbox函数。它不接受用户的任何输入,在用户单击OK按钮后,对话框自动关闭,然后返回程序中继续执行。 >> msgbox('欢迎使用MATLAB') % 建立一个没有标题的消息对话框 >> msgbox('欢迎使用MATLAB','MATALB','warn') %% 建立一个有标题的消息对话框 2. 错误对话框 errordlg函数。 >> errordlg %建立一个默认参数的错误对话框>> errordlg('这是一个错误对话框','MATLAB error') %建立一个名为MATLAB error的错误对话框 3. 警告对话框 warndlg函数。 >> warndlg %建立一个默认参数的警告对话框>> errordlg('这是一个警告对话框','MATLAB warning') 4. 帮助对话框 helpdlg函数。 >> helpdlg('你需要帮助吗?','MATLAB Help') 5. 进度条设置对话框 waitbar函数。作用是反映程序运行的完成情况。 h=waitbar(0,'请稍等......') for i=1:10000 waitbar(i/10000) end 6.输入对话框 inputdlg函数。 prompt={'输入梯形的上底:','输入梯形的下底','输入梯形的高'};%设置提示字符串 name='Enter trapeaia Data';%设置标题 numlines=1;%指定输入数据的行数 defAns={'20','50','40'};%设定默认值 Resize='on';%设定对话框尺寸可调节 answer=inputdlg(prompt,name,numlines,defAns,'on')%创建输入对话框 7. 列表对话框 listdlg函数。 p=path(path,'C:\MATLAB7 \work');%设置路径,若为当前目录,可以省略这一步 d=dir('C:\MATLAB7\work');%获取指针,若为当前目录,则d=dir str={https://www.sodocs.net/doc/e510468813.html,};%获取目录内的文件名

PTgui影像拼接操作流程教程文件

P T g u i影像拼接操作 流程

PTgui图片拼接操作流程 1.拼接准备 1.1.软件设置 选择“工具——选项”进行软件设置: 1.1.1.控制点数量设置 在“控制点生成器”中分别设置“100”和“100000”(建议不少于该数) 说明:增加控制点数量能有效控制拼接变形,并能增强自动选取控制点的能力,使山体林地等区域能自动找到控制点)。 1.1. 2.插件设置 PTgui不同版本可能出现不会自动安装插件的情况,需要检查设置各插件的调用目录是否正确。目录为空的需要通过“浏览”选取各插件的可执行文件。

1.1.3.暂存盘设置 图像拼接会产生大量的临时文件,在“文件夹&文件——模板文件夹”中选取本地剩余空间较大的硬盘作为暂存盘。

1.2.影像分组 按照前期技术流程进行(每组约100张影像基本接近正方形分布,避免选取带状分布的影像) 2.加载图像 通过“加载图像”选取需要拼接的一组影像。

在“源图像”中检查所加载的图像是否正确,可通过“添加/移除/替换”进行修改。

3.对准图像 在“方案助手”中选中“自动获取相机/镜头参数”,点击“对准图像”。 (设置一个像对一次对准最大生成100个控制点,一般对准2次以上效果较好) 说明:点击“对准图像”后,程序自动执行“分析图像——生成控制点——对准图像——微调控制点——优化——对准控制点”,该过程大约需要15分钟。 ?出现未能获取足够控制点 自动对准后,如果出现“PTgui未能为某些图像检测到控制点”,造成孤立图像或孤立群组时,再次运行“对准图像”,多次“对准图像”后,如果还存在孤立图像或群组时,通过“控制点助手”查看孤立图像/群组的编号,在“控制点”对话框中进行人工添加控制点(每对图像不得少于4对控制点,建议添加10对以上)

GUI教程

第十章 图形用户界面GUI 制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。 图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。 即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提供的程序,就可引出相应的界面。 本章第2节叙述图形用户界面的设计原则和一般制作步骤。第3、4节分别介绍用户菜单、用户控件的制作。出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。这前5节内容对读者理解交互图形界面的工作原理很有帮助。 本章第6节专述MATLAB6.5提供的界面设计工作台的使用。值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。新的设计工作台显得更成熟、方便。 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。 10.1 入门 【例10.1-1】对于传递函数为1 212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。 (1) clf reset H=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);

pyqt5 python Gui入门教程

pyqt5&python Gui入门教程(1)第一个窗口(1) 第一个窗口和代码详细注释: from PyQt5 import QtWidgets #从PyQt库导入QtWidget通用窗口类 class mywindow(QtWidgets.QWidget): #自己建一个mywindows类,以class开头,mywindows是自己的类名, #(QtWidgets.QWidget)是继承QtWidgets.QWidget类方法, # 定义类或函数不要忘记':'符号,判断语句也必须以':'结尾! def __init__(self): #def是定义函数(类方法)了,同样第二个__init__是函数名 # (self)是pyqt类方法必须要有的,代表自己,相当于java,c++中的this #其实__init__是析构函数,也就是类被创建后就会预先加载的项目 super(mywindow,self).__init__() #这里我们要重载一下mywindows同时也包含了QtWidgets.QWidget的预加载项import sys

app = QtWidgets.QApplication(sys.argv) #pyqt窗口必须在QApplication方法中使用, #要不然会报错 QWidget: Must construct a QApplication before a QWidget windows = mywindow() # 生成过一个实例(对象), windows是实例(对象)的名字,可以随便起! # mywindows()是我们上面自定义的类 windows.show() #有了实例,就得让他显示这里的show()是QWidget的方法,用来显示窗口的!sys.exit(app.exec_()) #启动事件循环 pyqt5&python Gui入门教程(2)第一个窗口(2) 上图是第一篇教程,下面的显示效果都一样,我们来看看有什么不同

PTGUI使用教程

PTGUI使用教程 【转载】PTGUI使用教程(图文指南 一、安装好PT.GUI 软件后,直接点桌面图片,进入软件页面,点击Load images ...按钮,导入要合成的一组全景图片,一般为4张,按顺序导入。二、导入照片时可以查看下缩略图,确定要合成的照片是否正确。三、如果导入后照片现实颠倒或反向不对的情况,可以点击右边的旋转按钮,调整到合适方向,然后点击下面的Align images按钮,可以预览到合成后的样子,方便做微调。PtGui是目前使用过最好的全景拼图软件,但有关PtGui的中文资料却非常稀缺,谢谢作者KYYeung的多次指正和无私分享。 PTGUI是著名多功能全景制作工具Panorama Tools的一个图形用户界面。德国数学教授Helmut Dersch的Panorama Tools 是目前功能最为强大的全景制作工具,但是它需要用户编写 脚本命令才能工作。软件使用比较复杂,但由于它是免费的,故得到了广泛的应用。PTGui通过为全景制作工具(Panorama Tools)提供图形用户界面(GUI) 来实现对图像的拼接,从而创造出高质量的全景图象。PTGui的名称由Panorama Tools

缩写PT和GUI(图形化界面)组合而成。PTGui: 广泛应用的全流程GUI前端程序,30天试用期。从原始照片的输入到全景照片的完成,包括:原照片的输入,参数设置,控制点的采集和优化,全景的粘贴,输出完成全景。软件的运行要求安装Panotools。Panorama Tools是一个免费而功能强大的全景接图软件,缺点是没有图形接口,人手键入数据是很枯燥乏味的。而PTGUI是一个商业软件,是Panorama Tools 的图形接口工具,相对其他全景接图软件来说,PTGUI可做很细致的操控,例如可人手定位,矫正变形等,下面简单介绍一下它的使用方法。使用ptgui,可以直接在panorama Editor中直观调整水平、垂直、中心点,非常方便!和全自动拼图软件Autostitch不一样,Panorama Tools + PTGUI需要很多的人工干预,主要是需要人工指定画面水平和中心点,以及人工指定各个画面之间的匹配点(参考控制点)。但是这个软件几乎可以对付任何情况,在其他全景软件不能正确拼图的情况下,这个软件可以给出非常完美的效果。ptgui 已经支持两个极有用的辅助程序autopano和enblend,前者是自动采集并生成控制点,后者是自动清除照片间的重叠接缝。安装自动找点的插件(autopano.exe)和平衡接缝处的亮度的插件(enblend.exe),这样可以很省力。ptgui插件autopano.exe和enblend.exe使用下载:1) 选择需要拼接的档案(Select source images),如果次序不是你需要的话可以按

Matlab GUI教程

Matlab GUI教程 北京索为高科系统技术有限公司雒海涛2011-02-11 学习目的: 学会用matlab gui设计用户界面,并编写响应程序。 学习步骤: 一、启动matlab,打开gui编辑器 弹出下面对话框 有四种GUI类型,我们这儿先选择第一种,点击OK按钮。

二、在弹出的gui设计器中按照如下步骤设计初步界面 拖入第一个控件后界面就可以保存了,点击存盘按钮进行保存,双击生成的标签控件按照图示步骤修改属性值。

点击保存后自动弹出生成的一个m文件,这儿叫MyT est.m文件,如下图,在里面添加对应的界面响应程序。 同时可以看到存储目录下会生成两个文件,一个是刚才弹出的m文件,另外一个就是界面文件.fig,所有界面相关的代码都放在该文件内,如下图:

三、设计一个完整的界面 在主窗口上绘制两个标签(static text),三个文本框(edit text)以及一个按钮(push button),如下图: 对界面进行一下修改,双击各个控件在弹出的属性窗口,将三个文本框的string属性都修改为0,将两个标签修改为“+”和“=”,将按钮的string属性修改为“计算”,修改完成后界面如下图所示,界面字体可以通过控件的fontsize属性修改。

为了便于在编写程序的时候区分各个控件,可以修改各个控件的唯一标示(tag属性),三个文本框默认是(edit1,edit2和edit3),修改为edit_num1, edit_num2和edit_total,修改完 成后,可以运行预览一下界面了,点击下图所示的绿色箭头 弹出提示,当前目录不是工作目录, 弹出设计窗口如下图:

MiniGUI教程

CreateInfo.dwStyle 窗口风格 CreateInfo.spCaption 窗口的标题 CreateInfo.dwExStyle 窗口的附加风格 CreateInfo.hMenu 附加在窗口上的菜单句柄 CreateInfo.hCursor 在窗口中所使用的鼠标光标句柄 CreateInfo.hIcon 程序的图标 CreateInfo.MainWindowProc 该窗口的消息处理函数指针 CreateInfo.lx 窗口左上角相对屏幕的绝对横坐标,以象素点表示CreateInfo.ty 窗口左上角相对屏幕的绝对纵坐标,以象素点表示CreateInfo.rx 窗口右下角相对屏幕的绝对横坐标,以象素点表示CreateInfo.by 窗口右下角相对屏幕的绝对纵坐标,以象素点表示CreateInfo.iBkColor 窗口背景颜色 CreateInfo.dwAddData 附带给窗口的一个32 位值 CreateInfo.hHosting 窗口消息队列的托管窗口

MiniGUI中控件类的定义如下: 控件类的主要元素如下: ?类名spClassName:区别于其它控件类的类名称 ?窗口过程函数指针WinProc:该类控件的实例均使用该窗口过程函数,它处理所有 发送到控件的消息并定义控件的行为和特征 ?类风格dwStyle:定义窗口的外观和行为等的风格,该类的所有实例将具有该普通 风格。 ?扩展的类风格dwExStyle:定义窗口的扩展风格,该类的所有实例将具有该扩展风 格。 ?类光标hCursor:定义该类窗口中光标的形状 ?背景色iBkColor:定义该类窗口的背景颜色象素值 ?类的私有附加数据dwAddData:系统为该类保留的附加空间 MiniGUI中控件类操作的相关函数如下: 该函数注册一个控件类。 该函数注销一个控件类。 该函数获取指定控件的类名。. 该函数获取指定控件类的类信息。

相关主题