配置小部件
机器人程序可以准确指定要用于显示数据点的窗口小部件,以及应如何配置该窗口小部件。由于此处列出的小部件太多,请查阅文档以获取详细信息。
指定小部件
Call withWidget
after add
in the call chain:
Shuffleboard.getTab("Drive")
.add("Max Speed", 1)
.withWidget(BuiltInWidgets.kNumberSlider) // specify the widget here
.getEntry();
frc::Shuffleboard::GetTab("Drive")
.Add("Max Speed", 1)
.WithWidget(frc::BuiltInWidgets::kNumberSlider) // specify the widget here
.GetEntry();
from wpilib.shuffleboard import Shuffleboard
from wpilib.shuffleboard import BuiltInWidgets
(Shuffleboard.getTab("Drive")
.add("Max Speed", 1)
.withWidget(BuiltInWidgets.kNumberSlider) # specify the widget here
.getEntry())
在此示例中,我们将“最大速度”窗口小部件配置为使用滑块而不是基本文本字段来修改值。
设置小部件属性
由于最大速度只有在0到1(全停到全速)的一个值才有意义,因此如果值降至零以下,则从-1到1的滑块可能会引起问题。幸运的是,我们可以使用withProperties方法修改它
Shuffleboard.getTab("Drive")
.add("Max Speed", 1)
.withWidget(BuiltInWidgets.kNumberSlider)
.withProperties(Map.of("min", 0, "max", 1)) // specify widget properties here
.getEntry();
frc::Shuffleboard::GetTab("Drive")
.Add("Max Speed", 1)
.WithWidget(frc::BuiltInWidgets::kNumberSlider)
.WithProperties({ // specify widget properties here
{"min", nt::Value::MakeDouble(0)},
{"max", nt::Value::MakeDouble(1)}
})
.GetEntry();
from wpilib.shuffleboard import Shuffleboard
from wpilib.shuffleboard import BuiltInWidgets
(Shuffleboard.getTab("Drive")
.add("Max Speed", 1)
.withWidget(BuiltInWidgets.kNumberSlider)
.withProperties(map("min", 0, "max", 1)) # specify widget properties here
.getEntry())
笔记
小部件可以通过名称指定;但是,名称区分大小写和空格(“”Number Slider”与“Number slider”和NumberSlider”不同)。为此,建议使用构建在widget类中的小部件来指定小部件,而不是使用原始名称。但是,只能通过名称或通过为该小部件创建自定义``WidgetType’’来指定自定义小部件。
窗口小部件属性名称既不区分大小写也不区分空格(“ Max”和“ max”相同)。有关该窗口小部件属性的详细信息,请参阅BuiltInWidgets类中的窗口小部件文档。