Comments (1)
It looks like the key difference is that the Button
text can wrap, so the container's auto
width is calcuated based on the minimum width of the widget rather than the optimal width of the renderable?
from textual.app import App, ComposeResult
from textual.containers import Horizontal
from textual.widgets import Button
class HorizontalWidthAutoApp(App[None]):
CSS = """
Horizontal {
border: solid red;
height: auto;
width: auto;
}
Button {
margin-left: 1;
}
"""
def compose(self) -> ComposeResult:
with Horizontal(classes="auto"):
yield Button("This is a very wide button")
with Horizontal(classes="auto"):
yield Button("This is a very wide button")
yield Button("This is a very wide button")
if __name__ == "__main__":
HorizontalWidthAutoApp().run()
from textual.
Related Issues (20)
- scroll_to without animation should cancel animation HOT 1
- TextArea theme improvements HOT 1
- Rendering issue with soft hyphens (~~long/wrapped text in `OptionList`~~) HOT 5
- Implement Undo / Redo for TextArea HOT 1
- Implement read only mode in TextArea HOT 1
- Investigate reducing TextArea updates HOT 2
- Type warning with `AwaitComplete` HOT 2
- TextArea docs missing syntax highlighting HOT 5
- test_language_binary_missing test failure when building 0.48.x on Fedora HOT 4
- `ProgressBar` ETA goes adrift if a progress bar is "reused" HOT 2
- Highlight in the suspend example is off by a line HOT 1
- `Option` indexing appears to break after an `OptionList.clear_options` and `OptionList.add_option(s)` HOT 4
- Regression in Textual 0.48 when executing app in a subprocess HOT 16
- `TextArea` still has a cursor, until it's had focus and then lost it HOT 8
- `TextArea` still uses `Escape` to move focus on HOT 3
- Show all commands in command palette HOT 10
- Both parent's and child's [on_mount] method are called in runtime HOT 3
- Consider signing commits/releases with PGP HOT 1
- No module named 'textual'
- Repair broken embedded rich terminal example. HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from textual.