如何在 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 的设计者没有通过预测用户可能想要的滑块方向来做出好的选择。单独的 属性 方向会更灵活。
设置
以下命令在 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 的设计者没有通过预测用户可能想要的滑块方向来做出好的选择。单独的 属性 方向会更灵活。