mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
* api docs * more docstrings * logs * docs shakeup * fix notes, added intro to all apis * Remove defaults to * add note to events * note * use fira code
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
- [Button.Pressed][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.
::: textual.widgets.Button options: heading_level: 2