使用uieditfield。ValueChangedFcn更改uieditfield。相同金额的价值

4次浏览(最近30天)
我有一个gui,其中包含一个uieditfield组件。编辑字段通过uieditfield改变一个检测器的方向。值金额。很多时候,我希望以1的增量改变字段。例如,我在编辑字段框中输入一个值,比如1。下次我想把探测器移动同样的幅度。当我在uieditfield框中输入1时,探测器不会移动,然而,如果我输入1.1,探测器就会移动。我相信这个行为是连接到uieditfield方法ValueChangedFcn。我正在使用uieditfield。ValueChangedFcn作为一个回调来移动检测器。我的问题是:
如何通过使用常数增量来改变检测器的方向?我是否应该使用不同的ui组件来获得我需要的行为?问题实际上是在使用uieditfield.ValueChangedFcn?

接受的答案

约翰•威廉姆斯
约翰•威廉姆斯 2022年3月11日
我找到了解决办法。我需要设置uieditfield。值转换为不同的数字后,我使用该值来改变检测器的方向。我选择了零,因为我不太可能用零的新值编辑字段。

更多答案(1)

沃斯
沃斯 2022年3月11日
听起来好像发生了什么,ValueChangedFcn不执行时,uieditfield的值没有改变。所以你需要一种方法在探测器方向增量不变的情况下更新探测器方向。
你可以考虑在你的UI中添加一个额外的组件,比如一个uibutton,它的ButtonPushedFcn将检测器的方向增加到uieditfield的Value中给定的值。
3评论
约翰•威廉姆斯
约翰•威廉姆斯 2022年3月11日
我很想改变我的代码结构,但我真的不知道如何让它更好。我对Matlab和GUI编程都不熟悉,但对编程却很熟悉。事实上,我是一个科学家,而不是一个真正的计算机程序员。因此,我从未真正理解GUI编程背后的结构。我没有参考资料,不知道怎样才能更有效地做这件事。
到目前为止,我在三个不同的地方调用updateDetectorOrientation函数,一个是当我设置GUI时,一个是当我顺时针旋转时,一个是当我逆时针旋转时;这些都不是回调。在顺时针和逆时针旋转函数中,updateDetectorOrientation由回调函数调用。整个程序正在工作,但我的感觉是,它是在崩溃的边缘(即。每当有人做了与我预期不同的事情)。你有正确编写gui程序的源代码吗?跟Matlab相关的吗?我发现Matlab的帮助不是很有用。谢谢你的真知灼见。

登录评论。

类别

了解更多输入命令帮助中心而且文件交换

下载188bet金宝搏


释放

R2021b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!