【问题标题】:how to update slider position when it is moved in matlab GUI在matlab GUI中移动时如何更新滑块位置
【发布时间】:2016-03-08 16:08:03
【问题描述】:

我创建了一个 matlab 视频播放器,但滑块有问题。当我移动滑块时,虽然视频暂停了,但滑块突然回到了我拖动它之前的位置。那么有没有办法让我在拖动它的位置获得滑块的值?然后,我可以使用该值来相应地更改播放的帧

这是滑块回调函数

function slider1_Callback(hObject, eventdata, handles)
set(handles.Play,'UserData','Pause');

在播放回调函数中,当播放按钮的“UserData”设置为“暂停”时,视频会暂停,这是通过拖动滑块来完成的。

【问题讨论】:

  • 你能提供一些代码来说明吗?谢谢
  • 我已经添加了一些解释

标签: matlab user-interface callback slider matlab-figure


【解决方案1】:

为滑块值添加一个监听器(参见addlistener 文档)并在回调函数中设置帧位置。例如,假设您有一个滑块句柄保存在一个名为 slider 的变量中:

addlistener( slider, 'Value', 'PostSet', @slider_callback );

这将在通过移动滑块设置Value 属性后执行slider_callback 函数。

在 R2015b 中,此侦听器在滑块移动时触发,而不是在您释放鼠标按钮时触发。不确定此详细信息是否会影响您的申请。

【讨论】:

  • 我需要在回调函数中使用句柄中的信息,我应该使用@slider_callback 还是@slider_callback(handles)?
  • 你的意思是guihandles函数返回的handles结构吗?
  • 是的,用来访问每个按钮和滑块的句柄结构
  • 在回调中使用 guihandles 函数,而不是传递句柄结构。这样可以确保您拥有最新的结构。
猜你喜欢
  • 1970-01-01
  • 2017-02-26
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
  • 1970-01-01
相关资源
最近更新 更多