对话框交互的自由度,NBUTTONDLG 真的是帮了大忙。它是对 QUESTBOXDLG 的一个扩展,按钮不再局限于三个,想放多少放多少,默认优化是针对四个的,UI 还挺稳的。
NBUTTONDLG 的设计思路比较直接:你传个问题,再传个按钮名字数组,弹出对话框就出来了。用户点哪个,就返回哪个名字。窗口没选直接关?那就返回空字符,逻辑也挺清楚。
像这种调用方式:
UserChoice = nbuttondlg('你最喜欢什么颜色?', {'红色','绿色','蓝色','黄色'});
响应也快,代码也简单,UIWAIT
挂起主线程那一套它也都走得通,适合写流程控制的时候用。
按钮数量是靠 buttonlabels
的长度来定的,意思就是你爱几个按钮就几个按钮,挺灵活的。而且界面尺寸也会自适应,基本不用手动调尺寸,懒人福音哦。
如果你平时做 MATLAB GUI 开发,又经常碰到选项交互的场景,这个函数真的是值得加进工具库的。想更进阶点,还可以参考 Matlab 图形用户界面对话框教程,搭配使用更顺手。
建议用这个工具时记得判空,别让用户直接关窗口把你逻辑整崩了。