Rule¶
A rule widget to separate content, similar to a <hr>
HTML tag.
- Focusable
- Container
Examples¶
Horizontal Rule¶
The default orientation of a rule is horizontal.
The example below shows horizontal rules with all the available line styles.
from textual.app import App, ComposeResult
from textual.containers import Vertical
from textual.widgets import Label, Rule
class HorizontalRulesApp(App):
CSS_PATH = "horizontal_rules.tcss"
def compose(self) -> ComposeResult:
with Vertical():
yield Label("solid (default)")
yield Rule()
yield Label("heavy")
yield Rule(line_style="heavy")
yield Label("thick")
yield Rule(line_style="thick")
yield Label("dashed")
yield Rule(line_style="dashed")
yield Label("double")
yield Rule(line_style="double")
yield Label("ascii")
yield Rule(line_style="ascii")
if __name__ == "__main__":
app = HorizontalRulesApp()
app.run()
Vertical Rule¶
The example below shows vertical rules with all the available line styles.
from textual.app import App, ComposeResult
from textual.containers import Horizontal
from textual.widgets import Label, Rule
class VerticalRulesApp(App):
CSS_PATH = "vertical_rules.tcss"
def compose(self) -> ComposeResult:
with Horizontal():
yield Label("solid")
yield Rule(orientation="vertical")
yield Label("heavy")
yield Rule(orientation="vertical", line_style="heavy")
yield Label("thick")
yield Rule(orientation="vertical", line_style="thick")
yield Label("dashed")
yield Rule(orientation="vertical", line_style="dashed")
yield Label("double")
yield Rule(orientation="vertical", line_style="double")
yield Label("ascii")
yield Rule(orientation="vertical", line_style="ascii")
if __name__ == "__main__":
app = VerticalRulesApp()
app.run()
Reactive Attributes¶
Name | Type | Default | Description |
---|---|---|---|
orientation |
RuleOrientation |
"horizontal" |
The orientation of the rule. |
line_style |
LineStyle |
"solid" |
The line style of the rule. |
Messages¶
This widget sends no messages.
Bindings¶
This widget has no bindings.
Component Classes¶
This widget has no component classes.
Bases: Widget
A rule widget to separate content, similar to a <hr>
HTML tag.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
RuleOrientation
|
The orientation of the rule. |
'horizontal'
|
|
LineStyle
|
The line style of the rule. |
'solid'
|
|
str | None
|
The name of the widget. |
None
|
|
str | None
|
The ID of the widget in the DOM. |
None
|
|
str | None
|
The CSS classes of the widget. |
None
|
|
bool
|
Whether the widget is disabled or not. |
False
|
orientation
class-attribute
instance-attribute
¶
orientation = orientation
The orientation of the rule.
horizontal
classmethod
¶
horizontal(
line_style="solid",
name=None,
id=None,
classes=None,
disabled=False,
)
Utility constructor for creating a horizontal rule.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
LineStyle
|
The line style of the rule. |
'solid'
|
|
str | None
|
The name of the widget. |
None
|
|
str | None
|
The ID of the widget in the DOM. |
None
|
|
str | None
|
The CSS classes of the widget. |
None
|
|
bool
|
Whether the widget is disabled or not. |
False
|
Returns:
Type | Description |
---|---|
Rule
|
A rule widget with horizontal orientation. |
vertical
classmethod
¶
vertical(
line_style="solid",
name=None,
id=None,
classes=None,
disabled=False,
)
Utility constructor for creating a vertical rule.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
LineStyle
|
The line style of the rule. |
'solid'
|
|
str | None
|
The name of the widget. |
None
|
|
str | None
|
The ID of the widget in the DOM. |
None
|
|
str | None
|
The CSS classes of the widget. |
None
|
|
bool
|
Whether the widget is disabled or not. |
False
|
Returns:
Type | Description |
---|---|
Rule
|
A rule widget with vertical orientation. |