问题标签 [tui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
803 浏览

python - urwid 示例中属性的含义

我是使用 Urwid 库(内置 Python)的新手,我试图在 urwid 示例中了解一些现有的 urwid示例。其中之一是这段代码:

  1. 这个例子中的属性是如何工作的?
  2. 前景和背景是什么意思?
  3. map1 "wraps" txt 是什么意思?这是否意味着您创建了一个名为 map1 的小部件并将该小部件放置在放置 txt 的屏幕位置上?短语“用另一个小部件 B 包装一个小部件 A”是否与我们所说的“将小部件 A 映射到小部件 B”的意思相同?
  4. map1 是 Filler 装饰小部件的 original_widget 吗?
  5. 哪个代码部分匹配 streak 的垂直高度与 txt 的垂直高度完全匹配?为什么 streak 的垂直高度没有变得大于或小于 txt 的垂直高度?如果没有 map2 那么这是否意味着除了 txt1 屏幕的其余部分将是红色或只是黑色?
0 投票
1 回答
640 浏览

c++ - 通过 PuTTY 读取低级鼠标单击 Unix

我使用 PuTTY 连接到 shell(Unix 服务器)。我可以使用鼠标从 CLI 中选择文本。此外,vim 还可以与鼠标交互,所以我知道 PuTTY 确实将鼠标输入发送到服务器。

我的问题是我想在 C++ TUI 中捕获鼠标事件,就像 vim 一样(只是,我将以不同的方式处理它们)。我浏览了许多站点,但没有一个站点准确地描述了我的问题。我有一种感觉,我需要xterm,但我不知道如何使用它!

我发现的最佳链接是:

如何在 linux 中读取低级鼠标点击位置。

鼠标单击时从 Vim 进行的奇怪插入--> 如何读取此事件?

Jitsu 的祝福 UI --> 向这家伙致敬!

谁能提供一个示例代码来读取鼠标位置?然后我可以编写应用程序的其余部分 :)

0 投票
0 回答
127 浏览

c - 如何通过突出显示文本来模拟按钮按下?

我正在使用 Mavericks 上的 Xcode 在 c 中开发一个小型控制台计算器项目。我已经想出了如何检测击键,现在我需要一种突出显示文本的方法,比如改变它的背景颜色或其他东西,所以当用户按下一个键时,1例如计算器上的那个键被突出显示,只要他掌握关键,创建一个漂亮的按钮推动模拟,但我不知道怎么做,有什么想法吗?:

0 投票
2 回答
45020 浏览

python - Python 终端/文本 UI (TUI) 库

如何制作控制台 GUI(更恰当地称为 TUI)?

重要的是要注意我将更改某些位置的文本,这就是为什么我不能将它打印到屏幕上。使用其他模块会很好,但我不想必须这样做。这是它的外观的 ASCII 模型:

我需要能够动态更新计时器和迭代次数。

我知道如何使用回车覆盖最后打印的行。但我不能在两个内衬上都使用它。

0 投票
3 回答
1202 浏览

c - 在 C 中创建一个看起来不错的 REPL

我正在编写带有类似 Shell 的界面的小程序。我的ui是:

我的问题是在提示后读取输入:

我想要的是:

你会怎么做?

0 投票
1 回答
803 浏览

python - Urwid ProgessBar 没有正确更新

我正在玩 urwid 库,到目前为止它非常棒。但我无法让进度条工作。我写了一个这样的简单测试程序:

如果我启动它,进度条应该是 0%。然后我按下按钮,几秒钟后进度条显示 100%。但我错过了 0% 到 100% 之间的步骤。他们只是不会出现。

渲染函数的额外调用也不起作用。

我也尝试过这样的事情:

这很好用。似乎进度条对在循环中被调用并不满意。好像很奇怪?!有人有任何想法来解决这个问题吗?

提前致谢 :)

PS:INFO:urwid 1.2.0 在 python 2.6.6、2.7、3.3 上测试都一样

0 投票
1 回答
482 浏览

c - GDB + TUI + GNU Screen - 将 gdb 输出发送到不同的屏幕

我正在使用 TUI 运行 GNU Screen 和 gdb,并且遇到了一些与回滚相关的问题,因此我想将输出发送到不同的屏幕窗口。最好的方法是什么?

理想情况下,我希望 tui 输入和输出(即我喜欢从 gdb 中“打印”的任何操作)位于一个窗口上,而 printf 等的输出位于另一个屏幕窗口上。

有谁知道如何做到这一点?

(我实际上是通过 gdb + 串行进行远程调试,所以它通过我的 ~/.gbdinit 中的目标远程 /dev/ttyS0 进行连接)。

0 投票
2 回答
148 浏览

perl - Perl 在 Prompt 上打印行

我的脚本要求下载 URL 并将它们发送到下载队列。下载进度应打印回来。

我找不到将提示保持在底部并对其进行状态处理的方法。我尝试在 CPAN 上进行搜索,但没有找到它的模块。

谢谢你的帮助。

0 投票
2 回答
1787 浏览

gdb - TUI模式下的GDB:如何处理stderr与ui的交互

我正在尝试使用 gdb 来调试caffe。我更喜欢使用 tui 模式,因为它可以让我看到整个源代码,而不仅仅是一行。但是有一个问题:每当程序caffe在 上输出一些东西时stderr,输出就会扭曲 tui 界面。请参阅下面的快照以获取说明:

普通的

当 stderr 上有输出时

这是 gdb tui 的固有限制还是有什么办法可以解决这个问题?

0 投票
4 回答
3368 浏览

c - 中断(n)诅咒接收信号

我的一个程序使用 ncurses 来绘制一个小的 tui。我的目标之一是让它可以移植到其他的 curses 实现中。这意味着我想自己在调整大小操作时捕获终端模拟器发出的 SIGWINCH 并更新我的 tui 以遵守更改的几何形状(而不依赖于 ncurses 的调整大小工具)。由于 POSIX(据我所知)仅允许访问sig_atomic_t信号处理程序中的变量,因此我将其设置为不同的状态。在主循环中,我的程序检查状态是否已更改,并在必要时更新 tui。

getch但是现在,当信号到达时,我的程序挂起的问题。ncurses 文档指出,处理过的信号永远不会中断它。这意味着在按下输入键之前不会更新 tui 的大小。

有什么便携式的中断方式getch吗?我目前的方法是ungetch在信号处理程序中使用一个虚拟键,但我不确定这是否允许。实际上,我找不到任何关于是否可以在信号处理程序中使用 curses 函数的文档。知道如何正确处理这个问题吗?

问候