matlab GUI-如何修改对话框的字体大小等属性

如题所述

第1个回答  2022-06-20
        Matlab有很多种类的对话框,每种对话框都是开发者提前做好的GUI图形界面。在我们自己创建的GUI界面中,我们在.fig界面里双击控件就能进入到属性编辑器中修改参数,或者在.m程序中用set语句进行修改。那么,如何修改对话框的一些属性呢?自然是只能用set语句修改了。

        用上一篇的错误提示框为例。我们在命令行窗口输入:h=errordlg('您还没有选取图片!!','温馨提示');  按回车键运行,就会在电脑屏幕的正中间偏上的位置出现错误提示框。如下图:

            我们在命令行窗口输入findobj(h),就可以看到这个图形界面里面包含哪些控件:

知道了这些控件后,修改它们的属性就很容易了,之前的文章中都有讲过。举三个例子:

(1)修改按钮的字体大小: set(findobj(h,'type','uicobtrol'),'Fontsize',12)

        这个语句的意思是将h这个图形界面中类型为UIcontrol(按钮)的控件的字体大小设置为12。效果如下:

图中的“确定”两个字是不是比之前更大啦

(2)修改文本框中字体大小:set(findobj(h,'type','text'),'Fontsize',12)

        效果如下:

(3)修改图标:

       Im=findobj(h,'type','axes'); %获取h中类型为axes的对象。h中有两个axes对象,一个为感叹号那个图标的Axes,另一个为整个GUI界面的背景

        imshow('1.jpg','parent',Im(1)); 

        set(Im(1),'xtick',[],'ytick',[])

        Im中包含两个axes,Im(1)为感叹号那个图标的Axes,Im(2)为整个GUI界面的背景。因为我们要显示的是图片,所以要将横纵坐标轴标签设为空。效果如下:

       除了图形界面中的控件可以修改属性参数,对于h这个图形界面的名称、框体大小等属性也可以修改。在命令行窗口直接输入h,按回车键,就可以跳出h的所有属性。如下图:

        要细讲的话实在是不可能,就挑几个意思一下。比如添加菜单栏,我们在命令行窗口输入:set(h,'menubar','figure'),就可以看到错误提示框多了一行菜单栏:

        输入:set(h,'toolbar','figure'),就可以看到错误提示框又多了一行工具栏:

       输入:set(h,'resize','on'),就可以看到错误提示框的最大化按钮颜色变深,此时你可以通过拉提示框的边缘将其放大或缩小。

        输入:set(h,'Units','centimeter','Position',[16 12 8 8]),首先将位置的单位设成cm,改变框体大小为8*8cm。如下图所示:

        在这里只能说是写点东西给大家一些启发,大家可以按照这种方法自己研究。再强调一遍,Matlab中,这些所谓的对话框,甚至是工具箱里面那些东东,都是开发者实现编好的GUI图形交互界面而已(往大了看,整个Windows系统就是个大大的用户交互界面),因此,其实今天说的这些方法,同样适用于其他的对话框或者你自己创建的GUI界面,道理都是通的。