MATLAB:进入确认输入对话框?

MATLAB:进入确认输入对话框?,matlab,permissions,dialog,user-input,Matlab,Permissions,Dialog,User Input,我知道有一种方法可以让键盘上的enter键确认inputdlg()对话框,请参见此处: 好的,这是一个解决方法,问题是,我必须将它存储在matlab目录中(因为正如页面上所说:“因为它依赖于几个私有函数,所以newid.m只有存储在这个位置时才会工作。”)。。现在的问题是,我想做一个代码,它不依赖于Matlab目录中的用户更改,因为缺少特权。。。还有其他(也许是肮脏的)方法来实现这种行为吗 谢谢 解决方案: 将newid.m从复制到任意文件夹,例如,复制到项目文件夹中 进入存储原始inputd

我知道有一种方法可以让键盘上的enter键确认inputdlg()对话框,请参见此处:

好的,这是一个解决方法,问题是,我必须将它存储在matlab目录中(因为正如页面上所说:“因为它依赖于几个私有函数,所以newid.m只有存储在这个位置时才会工作。”)。。现在的问题是,我想做一个代码,它不依赖于Matlab目录中的用户更改,因为缺少特权。。。还有其他(也许是肮脏的)方法来实现这种行为吗

谢谢

解决方案:

  • newid.m
    从复制到任意文件夹,例如,复制到项目文件夹中
  • 进入存储原始
    inputdlg()
    的文件夹;您可以通过
    which inputdlg
    (例如C:\Program Files\MATLAB\R2011b\toolbox\MATLAB\uitools\inputdlg.m)找到这一点
  • 进入
    private
    -子目录,复制两个文件
    getnicedialoglocation.m
    setdefaultbutton.m
    ,并将它们粘贴到
    newid.m
    所在的项目文件夹中。现在使用
    newid()
    而不是
    inputdlg()
    调用所有输入对话框

  • +1因为我不知道这个烦人的问题有解决办法!顺便说一句,我建议重命名
    getnicedialoglocation
    setdefaultbutton
    (newid中的文件名、函数名和函数调用)的复制版本,这样它们就不会对原始版本进行踩踏和任何后续更新。我只是在名字后面加了
    \u enter