Paragraph
Paragraph
ウィジェットは、ターミナル ユーザー インターフェイスにテキスト コンテンツを表示する方法を提供します。プレーン テキストの表示だけでなく、テキストの折り返し、配置、スタイル設定も処理できます。このページでは、Paragraph
ウィジェットの機能について詳しく説明します。
使用法
let p = Paragraph::new("Hello, World!");f.render_widget(p, chunks[0]);
スタイリングと境界線
テキストにスタイルを適用して、境界線で包むこともできます。
let p = Paragraph::new("Hello, World!") .style(Style::default().fg(Color::Yellow)) .block( Block::default() .borders(Borders::ALL) .title("Title") .border_type(BorderType::Rounded) );f.render_widget(p, chunks[0]);
ラッピング
Paragraph
ウィジェットは、含まれるブロックの使用可能な幅に基づいてコンテンツをラップします。 wrap
メソッドを使用して、ラッピング動作を制御することもできます。
let p = Paragraph::new("A very long text that might not fit the container...") .wrap(Wrap { trim: true });f.render_widget(p, chunks[0]);
trim
を true
に設定すると、各行の末尾の空白が削除されます。
アライメント
let p = Paragraph::new("Centered Text") .alignment(Alignment::Center);f.render_widget(p, chunks[0]);
スタイルのテキスト
Paragraph
Span
、 Line
、 Text
を介してリッチテキストをサポートします。
let mut lines = vec![];lines.push(Line::from(vec![ Span::styled("Hello ", Style::default().fg(Color::Yellow)), Span::styled("World", Style::default().fg(Color::Blue).bg(Color::White)),]));lines.push(Line::from(vec![ Span::styled("Goodbye ", Style::default().fg(Color::Yellow)), Span::styled("World", Style::default().fg(Color::Blue).bg(Color::White)),]));let text = Text::from(lines);let p = Paragraph::new(text);f.render_widget(p, chunks[0]);
スクロール
長いコンテンツについては、 Paragraph
はスクロールをサポートしています。
let mut p = Paragraph::new("Lorem ipsum ...") .scroll((1, 0)); // Scroll down by one linef.render_widget(p, chunks[0]);