1.8 KiB
1.8 KiB
Button
A simple button widget which can be pressed using a mouse click or by pressing ++return++ when it has focus.
- Focusable
- Container
Example
The example below shows each button variant, and its disabled equivalent. Clicking any of the non-disabled buttons in the example app below will result in the app exiting and the details of the selected button being printed to the console.
=== "Output"
```{.textual path="docs/examples/widgets/button.py"}
```
=== "button.py"
```python
--8<-- "docs/examples/widgets/button.py"
```
=== "button.css"
```sass
--8<-- "docs/examples/widgets/button.css"
```
Reactive Attributes
| Name | Type | Default | Description |
|---|---|---|---|
label |
str |
"" |
The text that appears inside the button. |
variant |
str |
"default" |
Semantic styling variant. One of default, primary, success, warning, error. |
disabled |
bool |
False |
Whether the button is disabled or not. Disabled buttons cannot be focused or clicked, and are styled in a way that suggests this. |
Messages
::: textual.widgets.Button.Pressed
Additional Notes
- The spacing between the text and the edges of a button are due to border, not padding. To create a button with zero visible padding, use the
border: none;declaration.
See Also
- Button code reference