Cannot find function figure1_KeyPressFcn in GUI code file

2 次查看(过去 30 天)
In the GUIDE editor, when I right click on the figure and go to add a callback, pressing the KeyPressFcn callback selection yields a msgbox error which says "Cannot find function figure1_KeyPressFcn in GUI code file C:". Note that there is no path given after "C:". When a keypress event occurs during runtime, there is an error printed to console which states "error using feval ... undefined function 'figure1_KeyPressFcn' ..."
How should I go about fixing this error?
  3 个评论
Stephen
Stephen 2018-1-19
Richard, no, I never did figure out how to fix this. I ended up re-creating the GUI from scratch in guide and then copying in the relevant code. I think it happened originally because I copied a .fig file I'd edited in parallel with the code (trying to sync the UI changes with the latest code file by just replacing the .fig file). But no easy answer, I think it's just corrupted file(s)
Richard Moyse Fenning
Thanks Stephen.
Following an answer to a different question, I did 'save as' on the fig and it seems to work OK now. I'm not 100% sure the two are related though :)

请先登录,再进行评论。

回答(1 个)

Kai Tanaka
Kai Tanaka 2019-8-1
I also ran into this issue and was able to find a way to resolve it. It appears the error can be caused by creating the callback code and then deleting it. In order to get GUIDE to regenerate the code:
  1. Rename the 'Tag' of the offending GUI element inside Inspector
  2. Save the GUI
  3. Right click the element in the figure, and select 'view callbacks'
The code was now generated in my GUI .m file and the error went away.

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by