对不起,
自己没用过maya。。
如果您想知道滑块(拇指)的大小,正如您所说,使用 setMaximum()、setMinimum() 函数进行控制。
如果我正确地满足您的要求,您希望拇指大小与缩放级别相对应
- 1000% 缩放,缩放系数 = 10 -> 拇指大小为滚动条的 10%
- 100% 缩放,没有滚动条。
我假设您可以计算缩放因子(例如 K),这将是您的缩放比例,并且您可以通过 Maya 控制滚动条的 Min/Max/Current 值
在这种情况下,滚动条最小值始终为 0。
- 当缩放因子为 1(k- current):1(original) 时,将滚动条的最大值设置为您显示的内容的宽度。保存此最大值以备将来使用,例如 (Z)
^^ 如果您的内容完全填充了可用宽度,这将不会在缩放因子 1 处为您提供滚动条。
- 接下来,当您的缩放系数更改为 K = 2(200% 比例)时。
Y
通过计算获得旧的缩放因子( ) scrollbar->maximum() / Z
。
- 将新滚动条最大值设置为
K * Z
。
- 将新滚动条值设置为
scrollbar->value() * K / Y
。
^^ 现在这将反过来将滚动条拇指的大小设置为您要查找的大小(缩放因子)
请注意,这假设您的缩放因子为 1 的内容不需要滚动条并且完全适合可用宽度。
如果不是这种情况,并且显示内容的控件的宽度是可调整大小的,则上述逻辑的结果将意味着缩放系数为 10 意味着当缩放系数为 1 时,拇指将处于其大小的 10%。因此,拇指的大小将不是滚动条的 10%,而是 100% 缩放时自身的 10%