我设计了一个GUIDE用于图像分析的MATLAB GUI。我需要在函数之间共享数据,所以我使用了guidata
函数,并将其存储在句柄对象中,因为它有记录(http://www.mathworks.de/de/help/matlab/ref/guidata.html)。MATLAB GUI:交换数据(句柄)
对于自动生成的回调函数(自动接收句柄),这很好,但我也想修改自编写函数和自写回调函数(如点击图像事件)中的数据。我尝试手动传递句柄对象,它使我可以读取数据,但无法存储它。我也尝试过传递对象句柄,以便使用guidata(hObject, handles)
,但对象句柄不起作用。
总之:我需要一种方法来读取&从文件中的所有函数中写入数据。我正在寻找一种更优雅的方式,而不是把所有东西都变成全球。那将是我最后的手段。
你有什么想法吗?
请提供一些复制问题的代码。目前还不清楚为什么通过'guidata'函数显式地或通过'guidata'函数传递'handles'结构不起作用。正如'guidata'的文档中所写的那样,只要你创建自己的字段(例如'handles.mydata')并且不覆盖GUIDE生成的字段,就不会遇到问题。 – excaza
此外,'guidata(hObject,句柄)'是存储语法,而不是检索语法。 'handles = guidata(hObject)'将检索调用对象存储的数据。对于父GUIDE GUI,这是句柄结构。 – excaza