From d99fef17ad19e874aee3ad9d3e5cfa63f297733c Mon Sep 17 00:00:00 2001 From: JoeamAmier Date: Tue, 26 Sep 2023 21:49:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20TUI=20=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 11 ++++++----- static/XHS_Downloader.tcss | 28 ++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index 65b0f30..3ee9c73 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,7 @@ from textual.app import App from textual.app import ComposeResult from textual.binding import Binding from textual.containers import HorizontalScroll +from textual.containers import ScrollableContainer from textual.widgets import Button from textual.widgets import Footer from textual.widgets import Header @@ -69,11 +70,11 @@ class XHSDownloader(App): def compose(self) -> ComposeResult: yield Header() - yield Label("请输入小红书图文/视频作品链接:") - yield Input(placeholder="URL") - yield HorizontalScroll(Button("下载无水印图片/视频", id="solo", variant="success"), - Button("读取文件并开始批量下载作品", id="batch", variant="success"), - Button("清空输入框", id="reset", variant="error"), ) + yield ScrollableContainer(Label("请输入小红书图文/视频作品链接:"), + Input(placeholder="URL"), + HorizontalScroll(Button("下载无水印图片/视频", id="solo"), + Button("读取 xhs.txt 文件并批量下载作品", id="batch"), + Button("清空输入框", id="reset"), )) yield Log(auto_scroll=True) yield Footer() diff --git a/static/XHS_Downloader.tcss b/static/XHS_Downloader.tcss index 8f94a38..7c23680 100644 --- a/static/XHS_Downloader.tcss +++ b/static/XHS_Downloader.tcss @@ -1,12 +1,36 @@ +Screen { + layout: grid; + grid-size: 1 2; + grid-rows: 1fr; + grid-columns: 1fr; + grid-gutter: 1; +} Button { width: 1fr; - margin: 1 2; + margin: 1 1; + text-style: bold; +} +Button#solo { + tint: green 35%; +} +Button#batch { + tint: green 35%; +} +Button#reset { + tint: red 35%; } Label { width: 100%; padding: 1; - color: white; content-align-horizontal: center; content-align-vertical: middle; text-style: bold; } +ScrollableContainer { + row-span: 1; + column-span: 1; +} +Log { + row-span: 1; + column-span: 1; +}