我尝试在Matlab(R2009A)用户界面中实现保存/加载函数。我的对象实现了一个布局函数,它为对象生成一个用户界面。我正在尝试实现保存/加载按钮的回调。“保存”按钮起作用,并将对象保存到一个mat文件中,该文件可以稍后加载。

我的问题是实现加载按钮的回调。我似乎无法从mat文件加载数据并更新新对象的属性。任何关于我哪里出错的建议,以及关于我如何继续工作的建议,都非常感谢。

重要的代码是我的类定义文件,当然,我的实际对象实现了更多的属性和方法,但这里是我所拥有的框架

classdef myObj

properties

image % property holds a matlab image matrix

objCount % number of objects in image

end

properties(Transient=true)

parent

children

end

methods

function myObj

% empty constructor

end

function load_object(self)

% ask user for file

[fileName, pathToFile]=uigetfile('*.mat','Select .mat file');

tmp = load(fullfile(pathToFile,fileName);

if isfield(tmp,'obj')

self = tmp.obj;

end

end

LayoutFcn(self) % UI layout function

end

end

用户界面布局在单独的文件中定义。

L.

基本上看起来像

function LayoutFcn(self)

% create figure window and add various UI elements

...

% create load button

self.children(end+1) = uipushtool('Parent',hToolbar, ... % set parent to current toolbar

'CData',iconRead('open-document.png'), ... % read icon image from file

'Tag','uiLoad', ...

'ClickedCallback',@(hObj,event)loadingMyObject(self,hObj,event));

% create save button

self.children(end+1) = uipushtool('Parent',hToolbar, ... % set parent to current toolbar

'CData',iconRead('save-document.png'), ... % read icon image from file

'Tag','uiSave', ...

'ClickedCallback',@(hObj,event)savingMyObject(self,hObj,event));

...

end

function loadingMyObject(self,hObj,event)

self.load_object; % call load_object method defined above in class definition

end

function savingMyObject(self,hObj,event)

[fileName,pathName]=uiputfile('.mat','Save object to MAT file');

obj = self;

save(fullfile(pahtName,fileName),'obj')

end

注:

我使用的是matlab r2009a。

代码不会引发任何错误。我编写代码的方式父对象(由

自己

)呼叫后不更新

负载

在该方法中

加载对象

. 因此,这具有预期的效果:

>> var = myObj;

>> var.load_object;

但是,如果我使用

加载MyObjor对象

回调定义于

L.

以这种方式

>> var = myObjl

>> var.LayoutFcn

-> click Load button to call _loadingMyObject_

不影响

var

性质。那就是

var

单击“加载”按钮后仍将具有其默认属性值。

更改要使用的加载方法

设置

正如建议的那样

gnovice

引发以下错误

????使用=>集时出错

无法从FujiCalibration转换为Double。

即使我为每个属性设置/获取方法;如

method set.image(self,II)

% ... some data validation code ...

self.image = II

end

使用循环按建议设置每个字段

Mr Fooz

不是一个真正的选项,因为我的完整类有一个公共常量,当它们被设置时会抛出一个错误。

我正在寻找一种解决方案,它可以避免我必须单独地对每个字段进行代码设置。虽然在这一点上,这似乎是唯一的可能性。

Matlab停在载入界面,试图在Matlab用户界面中实现保存/加载对象功能时遇到了困难...相关推荐

  1. 计算机登录界面没有用户显示不出来,电脑开机时提示用户界面失败:无法加载登录用户界面的解决方法...

    在电脑开机之后,弹出了错误的提示"用户界面失败:无法加载登录用户界面"无法加载某个DLL文件,导致了电脑无法正常开机,不知道如何解决,下面装机之家分享一下电脑开机时提示用户界面失败 ...

  2. 页面载入-(dom、css、图片 等资源 加载完成) 执行

    1. // 页面载入-(dom.css.图片 等资源 加载完成) 执行 window.onload=function(){console.log("aaa"); }window.o ...

  3. miniblink载入html,一、【miniblink】使用miniblink加载网页

    一.说明: Miniblink: 本项的目的 是 调用miniblink扩展库 在 程序中嵌入浏览器 展示 网页效果 二.效果图: 1.加载网页效果图: 2.开发者工具界面图: 三.事例代码: 1.关 ...

  4. 怎么写入数据到csv文件中以及怎么加载csv文件数据【C++,matlab,Python】

    How to write data into .csv file and How to load .csv file data github源码地址:load_data_csv/cpp 1. Pyth ...

  5. 解决CSGO出现加载某些地图时,进入载入界面闪退游戏的问题

    关于这个问题,我经过steam技术客服的回复后,关键问题在于: 我的内存不够用,导致游戏在加载地图资源的时候,内存溢出,导致游戏崩溃.你可以用WIN+X在事件查看器 -windows日志-应用程序 中 ...

  6. android 载入svg动画,实例讲解使用SVG制作loading加载动画的方法

    今天和大家分享一个以SVG图像为主的loading加载动画,现在移动端网页使用比较多,若还用GIF做loading图片的话,可能会影响图像的质量,所以使用SVG是一个不错的方式. 这次展示的代码由 A ...

  7. html界面等待状态,html页面Loading效果实现:加载新页面前的等待过渡画面

    在 里面引入以下css文件和js文件即可实现 loading.css如下 .spinner { width: 60px; height: 60px; background-image: linear- ...

  8. matlab的函数要写在哪,matlab函数库在哪

    ---WORD 格式--可编辑--专业资料--- 在 MATLAB 环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载 成功,就能直接在 MATLAB 中直接请求...... 1 ...

  9. Unity黑暗之光笔记-NGUI-01-游戏载入界面

    在这一篇中主要是游戏载入界面 1.设置鼠标指针.添加水面和天空盒子 2.镜头缓慢的拉进 3.载入界面UI 1.设置鼠标指针.添加水面和天空盒子 1.1设置鼠标指针 因为场景已经有人做好,直接导入别人做 ...

最新文章

  1. 用Python写一份独特的元宵节祝福
  2. Linux下的各种文件阅读器
  3. 小白看Word2Vec的正确打开姿势|全部理解和应用
  4. volatile和final
  5. 开源FastGithub
  6. 这位 50 岁的海归程序员,当着老板还在天天改 Bug
  7. 如何解决“呈现控件时出错”的问题(转)
  8. vue脚手架实现选项卡_从零一步步实现一个前端脚手架
  9. Python爬虫入门教程 29-100 手机APP数据抓取 pyspider
  10. visio2019画电路图(论文)
  11. etal斜体吗 参考文献_论文参考文献格式要求
  12. [嵌入式学习]arm开发板通过NFS(网络文件系统)快捷访问和操作Ubuntu文件系统
  13. Linux文件夹的介绍
  14. zblog php 调用缩略图,zblog调用文章缩略图的方法
  15. Periodic-table
  16. OpenCV python 彩色图片的三通道
  17. Eigen学习记录1-Affine3f 仿射变换矩阵
  18. android 怎样设置铃声
  19. 用python制作九宫格图片原来如此简单
  20. ShaderJoy —— “水面波纹消散” 的实现 【GLSL】

热门文章

  1. 剑指offer——面试题60:把二叉树打印成多行
  2. cf1042d 树状数组逆序对+离散化
  3. SpringCloud(一)
  4. [置顶]常用存储过程集锦
  5. offsetLeft
  6. JS基础 - - if 练习二
  7. Linux监控工具Spotlight on Unix
  8. 在ORACLE中找出并批量编译失效的对象
  9. linux 取出本机IP
  10. pycharm运行scrapy