MATLAB社区

MATLAB,社区和更多

GUI的做事方式

虽然我喜欢为自己的乐趣而编写软件,但有时我编写程序是为了供其他人使用——这意味着我必须实现一个用户界面。我喜欢输入功能,询问简单的问题,用户。它的语法很简单,但它的输出使命令窗口混乱,允许用户出错,键入长答案(比如文件名和位置)很烦人,最重要的是,它使程序感觉像是我过去用BASIC编写的交互式小说。幸运的是MATLAB自带很多函数构建简单的gui来询问用户问题。

其中最基本的是inputdlg函数。而不仅仅是输入:

一个=输入(“你想要哪种花生酱?”“年代”

您可以使用

b = inputdlg (“你想要哪种花生酱?”

inputdlg gui

当然,这让用户可以输入任何东西!他可以说他想要橙子,但这不是一个有效的选择(或者至少在我所在的Stop & Shop不是)。不幸的是,MATLAB提供了一些对话框来限制用户的选择。每一个都有它的优缺点。

listdlg为用户提供选项列表。它是目前为止最丑的,你可以看到默认的大小是糟糕的,它解决了我们的问题。

c = listdlg (“PromptString”“你想要哪种花生酱?”...“SelectionMode”“单一”“ListString”, {“脆脆的”“奶油”“天然”“巧克力”})

默认listdlg外观

幸运的是,有一个简单的修复方法,通过一些额外的输入listdlg

c = listdlg (“PromptString”“你想要哪种花生酱?”...“SelectionMode”“单一”“ListString”, {“脆脆的”“奶油”“天然”“巧克力”},...“名字”“选择花生酱”“ListSize”130年[230])

修改后的Listdlg外观

如果你有三个或更少的选择,你可以选择questdlg路线:

d = questdlg (“你想要哪种花生酱?”“花生酱选择”...“脆脆的”“奶油”“天然”“奶油”);

Questdlg的花生酱

最后,你也可以用菜单对话框为每个选择呈现一个按钮:

e =菜单(“你想要哪种花生酱?”...“脆脆的”“奶油”“天然”“巧克力”

花生酱菜单

正如你所看到的,这些都没有自定义对话框那么漂亮,但是它们很容易编码,对编程用户交互很有用。比这些常规选择对话框更吸引人的是那些允许用户选择文件、颜色或字体的对话框。这些将是另一篇文章的主题。你可以找到更多关于他们的信息在这里

|

评论

请点击留言在这里登录到您的MathWorks帐户或创建一个新帐户。