在我当前的项目中,我的 gui 中有一堆编辑文本框。当我/在第一个文本空白中并按 Tab 键时,它会跳到第三个文本框,当我再次按 Tab 键时,它会跳到第二个文本框。每次我点击选项卡时,它都会以这种奇怪的顺序跳转。我发现顺序取决于每个文本框的回调函数的顺序。如果不进行复制粘贴和更改指南生成的代码,是否有更好的方法来排序我的文本框。 例如,当我在红色 x 框中并点击选项卡时,它会将我带到红色 z 框,然后是红色 y,然后是绿色 x,然后是绿色 z。我希望能够单击红色 x,然后仅使用选项卡单步执行并填写其他 block 。是否可以重新订购?
最佳答案
GUIDE 生成的 GUI
使用GUIDE时,您可以简单地使用"Tab Order Editor" 。使用以下菜单项访问它:
对于这个带有一个按钮和两个文本框的简单 GUI,您将看到以下对话框:
然后通过向上/向下移动 UI 对象来设置 Tab 键顺序。
编程 GUI
致set the tab order programatically ,您可以使用uistack
重新排序句柄。
例如,要将 uicontrol
按顺序“向上”移动一个:
uistack(hui,'up',1)
要查看图中hf
中所有控件的句柄顺序:
ch = get(hf,'Children')
关于MATLAB GUI 选项卡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623066/