mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Originally it was partially correct in that it did sound the bell, but it also then exited the application and printed the details of the button -- the text didn't mention the latter aspect. This corrects that and removes mention of the bell sound because we've now removed that.
59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
# Button
|
|
|
|
|
|
A simple button widget which can be pressed using a mouse click or by pressing ++return++
|
|
when it has focus.
|
|
|
|
- [x] 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 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"
|
|
|
|
```css
|
|
--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
|
|
|
|
### Pressed
|
|
|
|
The `Button.Pressed` message is sent when the button is pressed.
|
|
|
|
- [x] Bubbles
|
|
|
|
#### Attributes
|
|
|
|
_No other attributes_
|
|
|
|
## 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](../reference/button.md) code reference
|