欧美日韩国产一区二区|qovd片|小明个人发布看看|小浪货你夹真紧水又多|老头把我添高潮了A片故|99热久久精品国产一区二区|久久久春色AV

鼠標(biāo)|高手過(guò)招不用鼠標(biāo),一款超好用的跨平臺(tái)命令行界面庫(kù)( 二 )


之后 , 我們會(huì)使用 terminal.draw() 方法繪制界面 , 其接受一個(gè)閉包:

在這里 , 有如下流程:

  1. 使用Layout 按照需求給定 Constraint 切分窗體 , 獲取 chunks , 每個(gè) chunk 也可以利用 Layout 繼續(xù)進(jìn)行分割
  2. 實(shí)例化組件 , 每個(gè)組件都實(shí)現(xiàn)了default 方法 , 在使用時(shí)我們應(yīng)該先使用 xxx::default() 獲取默認(rèn)對(duì)象 , 再利用默認(rèn)對(duì)象更新組件樣式 。 例如 Block::default().borders(Borders::ALL) 、Style::default().bg(Color::White) 等 。 這也是官方推薦做法 。
  3. 使用f.render_widget 渲染組件到窗體上 , 對(duì)于類(lèi)似 列表 等存在狀態(tài)(比如當(dāng)前選中元素)的組件 , 則使用 f.render_stateful_widget 進(jìn)行渲染
關(guān)于 tui.rs 其他內(nèi)置組件的使用方法 , 可以查看官方的 example 文件 , 編寫(xiě)套路是一樣的 , 可以根據(jù)需要直接復(fù)制粘貼 。
需要注意到是 , 在此我們只關(guān)心 UI 組件的顯示方式和內(nèi)容 , 有關(guān)程序邏輯的內(nèi)容應(yīng)放在 run_app 中處理以免打亂程序架構(gòu)或影響 UI 繪制效果(你總不希望 UI 繪制到一半的時(shí)候因?yàn)檫M(jìn)行了某些 IO 操作而卡住了對(duì)吧?)
到這里對(duì)于 tui.rs 的介紹就結(jié)束了 , 實(shí)際上使用 tui.rs 編寫(xiě) UI 界面很簡(jiǎn)單 , 只要根據(jù)創(chuàng)作模板結(jié)合官方例子一步步構(gòu)建 , 任何人都可以很快上手 。
三、更多實(shí)用工具下面將介紹介紹幾款基于 tui.rs 構(gòu)建的流行開(kāi)源項(xiàng)目 , 它們無(wú)一例外是命令行工具里的“神兵利器“!
3.1 實(shí)時(shí)股票數(shù)據(jù)支持查看不同時(shí)間維度以及交易量等數(shù)據(jù) , 股票實(shí)時(shí)數(shù)據(jù)來(lái)自雅虎 。
地址:tarkah/tickrs
3.2 文件傳輸工具支持 SCP/SFTP/FTP/S3 功能豐富的終端文件傳輸工具 。
地址:veeso/termscp
3.3 網(wǎng)絡(luò)監(jiān)控工具用于按進(jìn)程、連接、遠(yuǎn)程 IP、主機(jī)名顯示當(dāng)前網(wǎng)絡(luò)利用率 。
地址:imsnif/bandwhich
限于篇幅這里就不介紹其它開(kāi)源項(xiàng)目了 , 感興趣的小伙伴可以去項(xiàng)目首頁(yè)尋找 。
四、最后以上就是本文的所有內(nèi)容 , 希望您從中有所收獲 。
最后 , 感謝您的閱讀和陪伴!??!
【鼠標(biāo)|高手過(guò)招不用鼠標(biāo),一款超好用的跨平臺(tái)命令行界面庫(kù)】這里是 HelloGitHub 分享 GitHub 上有趣、入門(mén)級(jí)的開(kāi)源項(xiàng)目 。 您的每個(gè)點(diǎn)贊、留言、分享都是對(duì)我們最大的鼓勵(lì)!

相關(guān)經(jīng)驗(yàn)推薦