FTXUI 6.1.9
C++ functional terminal UI.
载入中...
搜索中...
未找到
examples/dom/paragraph.cpp
浏览该文件的文档.
1// 版权所有 2020 Arthur Sonzogni。保留所有权利。
2// 本源代码的使用受 MIT 许可证约束,可在 LICENSE 文件中找到。
3#include <chrono> // for operator""s, chrono_literals
4#include <ftxui/screen/screen.hpp> // for Full, Screen
5#include <iostream> // for cout, ostream
6#include <memory> // for allocator, shared_ptr
7#include <string> // for string, operator<<
8#include <thread> // for sleep_for
9
10#include "ftxui/dom/elements.hpp" // for hflow, paragraph, separator, hbox, vbox, filler, operator|, border, Element
11#include "ftxui/dom/node.hpp" // for Render
12#include "ftxui/screen/box.hpp" // for ftxui
13
14using namespace std::chrono_literals;
15int main() {
16 using namespace ftxui;
17 std::string p =
18 R"(在概率论和统计学中,贝叶斯定理(或称贝叶斯法则、贝叶斯规则)描述了一个事件的概率,该概率基于与该事件相关的先验条件知识。例如,如果癌症与年龄相关,那么使用贝叶斯定理,一个人的年龄可以用来更准确地评估他们患癌症的概率,相比于在不了解其年龄的情况下对癌症概率的评估。贝叶斯定理的众多应用之一是贝叶斯推断,这是一种特殊的统计推断方法。应用时,贝叶斯定理中涉及的概率可能具有不同的概率解释。根据贝叶斯概率解释,该定理表达了主观信念程度应如何理性地改变以解释相关证据的可用性。贝叶斯推断是贝叶斯统计学的基础。)";
19
20 std::string reset_position;
21 while (true) {
22 auto document = vbox({
23 hflow(paragraph(p)),
24 separator(),
25 hflow(paragraph(p)),
26 separator(),
27 hbox({
28 hflow(paragraph(p)),
29 separator(),
30 hflow(paragraph(p)),
31 }),
32 }) |
33 border;
34
35 document = vbox(filler(), document);
36
37 // auto screen = Screen::Create(Dimension::Fit(document));
38 // Render(screen, document);
39 // screen.Print();
40 // getchar();
41
42 auto screen = Screen::Create(Dimension::Full());
43 Render(screen, document);
44 std::cout << reset_position;
45 screen.Print();
46 reset_position = screen.ResetPosition();
47
48 std::this_thread::sleep_for(0.01s);
49 }
50
51 return 0;
52}
#include "ftxui/component/component_base.hpp" // 用于 ComponentBase