美文网首页
rust编程练习 —— crossterm

rust编程练习 —— crossterm

作者: 1UP2020 | 来源:发表于2022-05-27 11:02 被阅读0次

Cargo.toml 文件添加依赖:

[dependencies]
crossterm = "0.23"

crossterm 设置字体样式,非常简单一看就懂!

use crossterm::{
    style::{Stylize}
};


fn main() {
    println!("{}", "Bold".bold());
    println!("{}", "Underlined".underlined());
    println!("{}", "Negative".negative());
}

运行效果如下图:


crossterm 设置字体样式

下面是一个使用 crossterm 的简单例子:

use crossterm::{
    cursor::{Hide, MoveTo, MoveToNextLine, Show},
    execute,
    style::{Stylize, SetAttribute, Attribute, Color, Print, PrintStyledContent, ResetColor, SetForegroundColor, SetBackgroundColor},
    terminal::{Clear, ClearType, EnterAlternateScreen, LeaveAlternateScreen, SetSize},
    Result,
};
use std::io::{stdout};

fn main() -> Result<()> {
    crossterm::terminal::enable_raw_mode()?; //raw 模式可用
    execute!( //使用这个 execute 宏执行设置。
        stdout(), //第一个参数必须是这个!
        SetSize(60, 30), // 设置窗口的尺寸。
        Clear(ClearType::All), //清屏。
        
        EnterAlternateScreen, //进入备用画面。
        SetForegroundColor(Color::Green), //设置前景色为绿色,就是字体的颜色 。
        SetBackgroundColor(Color::Red), //设置背景色为红色。
        
        Hide, //隐藏光标
        MoveTo(20, 10), //移动光标到第20行,第10列。
        
        PrintStyledContent( "你好\n".white()), //打印一些白色的东东!!

        MoveToNextLine(2), //向下移动2行。
        SetAttribute(Attribute::Bold), //设置属性:加粗。
        Print("hello world!\n".black()), //打印一些黑色的东东!!
        
        SetAttribute(Attribute::Reset),//设置属性:恢复默认。
        MoveToNextLine(1),
        Print("hello world!\n".blue()), //比一比粗细。
        MoveToNextLine(3),
        ResetColor, //恢复默认颜色。
        Show, //显示光标。
        //LeaveAlternateScreen, //离开备用画面,什么也不显示了!
    )?;
    crossterm::terminal::disable_raw_mode()?;//raw 模式不可用。
    Ok(())
}

运行效果如下图:


crossterm 简单例子

相关文章

  • rust编程练习 —— crossterm

    Cargo.toml 文件添加依赖: crossterm 设置字体样式,非常简单一看就懂! 运行效果如下图: 下面...

  • Web3极客日报 #5

    Rust 编程小练习 Rustlings https://github.com/rust-lang/rustlin...

  • Rust语言编程实例100题-065

    Rust语言编程实例100题-065 题目:泛型练习。泛型并不是Rust特有的概率,在很多强类型的编程语言中也支持...

  • Rust 学习资源

    Rust编程语言 Rust编程语言(https://doc.rust-lang.org/book/[https:/...

  • Rust语言编程实例100题-028

    Rust语言编程实例100题-028 题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归...

  • Rust语言编程实例100题-026

    Rust语言编程实例100题-026 题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归...

  • Rust语言编程实例100题-027

    Rust语言编程实例100题-027 题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归...

  • Rust语言编程实例100题-035

    Rust语言编程实例100题-035 题目:字符串反转练习,如将字符串 "i like rust!" 反转为"!t...

  • Rust语言编程实例100题-066

    Rust语言编程实例100题-066 题目:Rust指针练习。先来理解下引用和借用的概念。引用是作为参数传递给函数...

  • Rust语言编程实例100题-059

    Rust语言编程实例100题-059 题目:Rust高阶函数练习。高阶函数是指以函数为参数或者返回值的函数,是函数...

网友评论

      本文标题:rust编程练习 —— crossterm

      本文链接:https://www.haomeiwen.com/subject/ruemprtx.html