我正在尝试将一个脚本从Matlab移植到Octave。我错过的一个函数是uicontrol(),用于显示togglebutton和按钮。
因此就有了这个问题:当时,Implementation of Matlab's uicontrol in Octave? ()还没有在Octave中实现,但从3.6.N开始,它被宣传为正在实现:http://www.octave.org/wiki/index.php?title=FAQ#Why_are_the_developers_planning_to_replace_Gnuplot_with_an_OpenGL_backend.3F
然而,在Ubuntu Quantal上安装了octave 3.6.2之后,我遇到了这个错误:
octave:1> uicontrol
ans=-1.8402
error: __go_draw_figure__: unknown object class, uicontrol
error: called from:
error: /usr/share/octave/3.6.2/m/plot/private/__go_draw_figure__.m at line 181, column 15
error: /usr/share/octave/3.6.2/m/plot/__gnuplot_drawnow__.m at line 86, column 5但是,/usr/share/octave/3.6.2/m/plot/uicontrol.m存在。
有什么帮助吗?谢谢。
发布于 2012-08-01 04:31:30
我使用的是Octave3.6.2的MSVC/win32版本;这是随QtHandles提供的,它可以与uicontrol一起使用(仅使用基本的窗口小部件-按钮、文本框进行测试)。
发布于 2012-07-26 17:47:50
回答我自己(至少部分地),对于那些我们可能会遇到相同问题的人:Octave3.6引入了一个新的图形工具包,即FLTK,以及默认的Gnuplot。已安装的图形工具包可通过以下命令查看:
octave> available_graphics_toolkits命令。当前使用的图形工具包由以下内容提供:
octave> graphics_toolkit默认值是:"gnuplot“。或者,uicontrols与gnuplot不兼容,但与FLTK兼容。因此,在调用uicontrol函数之前,应使用以下命令切换到FLTK图形工具包:
octave> graphics_toolkit fltk;在调用uicontrol函数之前。
然而,这个答案只是部分的:尽管使用FLTK图形工具包,uicontrol似乎没有错误地工作,甚至返回了一个有效的处理程序(允许设置和获取其属性),但实际的按钮在图中不可见...那么,另一个问题:有什么帮助吗?
谢谢。
https://stackoverflow.com/questions/11658345
复制相似问题