如何在 octave/matlab 中创建垂直滑块

How to create a vertical slider in octave/matlab

设置

以下命令在 octave/matlab 中创建一个水平滑块填充当前 window:

h= uicontrol ('style', 'slider', 'units','normalized', 'position',[0,0,1,1])

背景资料

通过函数调用 get(h) 您可以显示滑块的所有属性。此处列出了一些更相关的属性:

type = uicontrol
style = slider
max = 1
min = 0
value =  0.50000
sliderstep =[0.010000  0.100000]
position =[0  0  1  1]
units = normalized
horizontalalignment = center
verticalalignment = middle

问题

有没有属性可以控制滑块的方向?还是有另一种创建垂直滑块的方法?

解决方案

我自己找到了解决方案:滑块方向 是根据uicontrol 的纵横比 隐式定义的。如果它最初 比高 宽,它变成 水平滑块 ,如果它 比宽 高,它成为 垂直滑块

要控制纵横比,请将 uicontrol 的 'position' 属性 设置为 [xpos ypos width height]

示例

以下命令创建垂直滑块:

uicontrol('style','slider','units','normalized','position',[0,0,0.2,1.0]);

备注

  • 如果在创建后更改纵横比,滑块方向 保持原样。
  • matlab 的设计者没有通过预测用户可能想要的滑块方向来做出好的选择。单独的 属性 方向会更灵活。