StyleBoxFlat¶
继承: StyleBox < Resource < RefCounted < Object
不使用纹理的可自定义StyleBox。
描述¶
通过配置此样式框的各种属性,无需纹理即可实现许多常见外观。这包括可选的圆角边框、抗锯齿、阴影和倾斜。
允许将角半径设置为较高的值。一旦角重叠,样式框将切换到相对系统:
height = 30
corner_radius_top_left = 50
corner_radius_bottom_left = 100
The relative system now would take the 1:2 ratio of the two left corners to calculate the actual corner width. Both corners added will never be more than the height. Result:
corner_radius_top_left: 10
corner_radius_bottom_left: 20
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
get_border_width(margin: Side) const |
|
get_border_width_min() const |
|
get_corner_radius(corner: Corner) const |
|
get_expand_margin(margin: Side) const |
|
void |
set_border_width(margin: Side, width: int) |
void |
set_border_width_all(width: int) |
void |
set_corner_radius(corner: Corner, radius: int) |
void |
set_corner_radius_all(radius: int) |
void |
set_expand_margin(margin: Side, size: float) |
void |
set_expand_margin_all(size: float) |
属性说明¶
抗锯齿在边缘周围画一个小圆环,它会褪色为透明。因此,边缘看起来更光滑。这仅在使用圆角或skew时才明显。
注意:使用45度角的斜角(corner_detail=1)时,建议将anti_aliasing设置为false,以确保清晰的视觉效果并避免可能的视觉故障。
float anti_aliasing_size = 1.0 🔗
这会改变抗锯齿效果的大小。建议使用1.0以获得100%比例的最佳结果,与Web浏览器和大多数矢量绘图软件中呈现圆角矩形的方式相同。
注意:较高的值可能会产生模糊效果,但也可能会在具有大半径角的小盒子上创建不需要的伪影。
Color bg_color = Color(0.6, 0.6, 0.6, 1) 🔗
样式框的背景颜色。
如果true,则边框将淡入背景色。
Color border_color = Color(0.8, 0.8, 0.8, 1) 🔗
设置边框的颜色。
底部边框的边框宽度。
左边框的边框宽度。
右边框的边框宽度。
顶部边框的边框宽度。
这将设置用于每个角的顶点数量。较高的值会导致更圆的角,但需要更多的处理能力来计算。选择值时,您应该考虑角半径(set_corner_radius_all())。
对于小于10的角半径,4或5应该足够了。对于小于30的角半径,8和12之间的值应该足够了。
1的角细节将导致倒角而不是圆角,这对于某些艺术效果很有用。
int corner_radius_bottom_left = 0 🔗
左下角的半径。如果0,则该角不是圆形的。
int corner_radius_bottom_right = 0 🔗
右下角的半径。如果0,则该角不是圆形的。
int corner_radius_top_left = 0 🔗
左上角的半径。如果0,则该角不是圆形的。
int corner_radius_top_right = 0 🔗
右上角的半径。如果0,则该角不是圆形的。
切换样式框内部的绘图。
float expand_margin_bottom = 0.0 🔗
将样式框展开到底部边缘控件矩形之外。与border_width_bottom结合使用可用于在控件矩形之外绘制边框。
注意:与StyleBox.content_margin_bottom不同,expand_margin_bottom不影响Controls的可点击区域的大小。如果使用错误,这可能会对可用性产生负面影响,因为用户可能会尝试单击StyleBox中无法实际接收点击的区域。
float expand_margin_left = 0.0 🔗
将样式框展开到左侧控件矩形之外。与border_width_left结合使用可用于在控件矩形之外绘制边框。
注意:与StyleBox.content_margin_left不同,expand_margin_left不影响Controls的可点击区域的大小。如果使用错误,这可能会对可用性产生负面影响,因为用户可能会尝试单击StyleBox中无法实际接收点击的区域。
float expand_margin_right = 0.0 🔗
将样式框展开到右边缘控件矩形之外。与border_width_right结合使用可用于在控件矩形之外绘制边框。
注意:与StyleBox.content_margin_right不同,expand_margin_right不影响Controls的可点击区域的大小。如果使用错误,这可能会对可用性产生负面影响,因为用户可能会尝试单击StyleBox中无法实际接收点击的区域。
float expand_margin_top = 0.0 🔗
将样式框展开到控件矩形顶部边缘之外。与border_width_top结合使用可用于在控件矩形之外绘制边框。
注意:与StyleBox.content_margin_top不同,expand_margin_top不影响Controls的可点击区域的大小。如果使用错误,这可能会对可用性产生负面影响,因为用户可能会尝试单击StyleBox中无法实际接收点击的区域。
Color shadow_color = Color(0, 0, 0, 0.6) 🔗
阴影的颜色。如果shadow_size小于1,则没有效果。
Vector2 shadow_offset = Vector2(0, 0) 🔗
阴影偏移量(以像素为单位)。调整阴影相对于样式框的位置。
阴影大小(以像素为单位)。
Vector2 skew = Vector2(0, 0) 🔗
如果在任一轴上设置为非零值,skew会水平和/或垂直扭曲StyleBox。这可用于“未来主义”风格的UI。正值使StyleBox向右(X轴)和向上(Y轴)倾斜,而负值使StyleBox向左(X轴)和向下(Y轴)倾斜。
注意:为确保文本不触及StyleBox的边缘,请考虑增加StyleBox的内容边距(参见StyleBox.content_margin_bottom)。最好增加内容边距而不是展开边距(参见expand_margin_bottom),因为增加展开边距不会增加Control的可点击区域的大小。
方法说明¶
int get_border_width(margin: Side) const 🔗
返回指定的Side的边框宽度。
int get_border_width_min() const 🔗
返回所有四个边框中的最小边框宽度。
int get_corner_radius(corner: Corner) const 🔗
返回给定corner的半径。有关可能的值,请参阅Corner。
float get_expand_margin(margin: Side) const 🔗
返回指定Side的展开边距的大小。
void set_border_width(margin: Side, width: int) 🔗
将指定的Side的边框宽度设置为width像素。
void set_border_width_all(width: int) 🔗
将所有边的边框宽度设置为width像素。
void set_corner_radius(corner: Corner, radius: int) 🔗
将给定corner的角半径设置为radius像素。有关可能的值,请参阅Corner。
void set_corner_radius_all(radius: int) 🔗
将所有角的角半径设置为radius像素。
void set_expand_margin(margin: Side, size: float) 🔗
将指定Side的展开边距设置为size像素。
void set_expand_margin_all(size: float) 🔗
将所有边的展开边距设置为size像素。