问题标签 [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 投票
0 回答
897 浏览

debugging - GDB -tui 选项

我见过有人使用带有 -tui 选项的 gdb,他们在 gdb 调试器的顶部、拆分窗口和下方获得了非常好的源代码,我尝试在 Ubuntu 15.04 中这样做,但它没有显示程序的源代码在顶部窗口中,它显示“没有可用的源”。有人可以建议我如何获得这种效果吗?任何帮助将不胜感激。

谢谢你。

0 投票
1 回答
348 浏览

python - TUI 和 CLI 之间的 npyscreen 切换选项

我正在开发一个控制台应用程序来管理来自 Unix 服务器的防火墙设备。控制台应用程序基于 python 的 npyscreen 库。我需要向用户提供的选项之一是从使用 npyscreen 开发的 TUI 登录到设备 CLI。为此,一旦从 unix 服务器登录到设备,我需要在 TUI 和设备 CLI 之间切换。

任何人(有 npyscreen 经验)都可以帮助我如何在 npyscreen 中完成这项工作吗?

这里的流程是这样的:

  1. 选择登录设备的选项(在 TUI 中)
  2. TUI 执行后端脚本以登录设备
  3. TUI 允许用户通过从 TUI 切换到 CLI 模式来查看设备控制台
  4. 用户在控制台模式下在设备上做他的事情
  5. 用户退出设备 CLI 并再次返回 TUI。

任何帮助将不胜感激。

问候普拉迪普

0 投票
1 回答
1015 浏览

python - 如何使用 python 对话框更改 tui 的背景颜色

我正在创建一个需要一些初始设置参数的应用程序。我想在 python 中构建一个终端用户界面,为我的用户提供更好的输入选项。我正在使用位于http://pythondialog.sourceforge.net/的这个库

从功能的角度来看,一切都很好,并且符合我的需求。我想改变终端的背景颜色。目前,它是亮蓝色,我不喜欢那种颜色。我搜索了他们位于http://pythondialog.sourceforge.net/doc/的文档,但无济于事。如何修改背景颜色?

0 投票
0 回答
278 浏览

java - 从另一个类访问数组列表方法

我有两个要一起使用的课程。一个数组列表类和一个文本用户界面类,它将调用数组列表类中的方法以完成任务。

每当我尝试从我的 TUI 类中调用带有数组列表类中的参数的方法时,它都会给我一个错误。

我正在尝试从 TUI 类访问我的 arrayList 类中的(添加)方法,这会将用户添加到我的 arrayList。有人可以告诉我如何解决这个问题。返回错误的方法是我的 TUI 类底部的“public void addBorrower()”。

我的两门课都在下面。

这是我的 TUI 课程。

这是我的数组列表类。

借款人类别:

0 投票
0 回答
322 浏览

java - 使用 TUI 添加到 ArrayList

我正在为现有项目实施一个名为“BorrowerTUI”的类以进行分配。我已经尝试了几个小时,但我无法弄清楚如何使用 TUI 添加到我的 ArrayList 中。需要添加的信息在一个名为“Borrower”的类中。这是构造函数:

以前,我使用名为“BorrowerList”的不同类将对象添加到 ArrayList。这是方法:

这没有问题。现在我要做的是使用 TUI 将相同的信息添加到同一个 ArrayList。这是“BorrowerTUI”的构造函数和用户将拥有的选项:

那是行不通的,我试图实施其他解决方案,但并不快乐。我尝试了一些类似的东西:

这是一些猜测工作,因为我们实际上并没有在课堂上介绍过这些材料,我们希望在简要介绍 TUI 后自己解决这个问题。希望这是足够的信息,如果您需要我详细说明或提供任何其他代码,请告诉我。

0 投票
2 回答
1194 浏览

python - 在 Python 中仅清除屏幕的一部分

所以基本上我正在尝试为 python 应用程序创建一个基于文本的用户界面。这是我到目前为止得到的:

如您所见,每次发生新查询时,我都必须打印顶部和底部。现在,这对于像这样的小型应用程序来说工作得很好,但是如果我向它添加更多功能,我将不得不每次都重复相同的代码行(顶部和底部)。

我想知道是否有任何方法可以保持顶部和底部的静态,并且只允许程序清除它们之间的区域......?

0 投票
1 回答
3110 浏览

python - 根据python中的终端宽度制表?

我有一些带有长字段的表格数据。Pandas 会像这样切断一些长字段:

如果我使用tabulate.tabulate(),它看起来像这样:

在第一种情况下,宽度设置为 80 左右,我猜,并且不会扩展以填充终端窗口。我希望列“shortname”、“title”和“centuries”位于同一行,所以这不起作用。

在第二种情况下,宽度设置为数据的宽度,但是如果标题很长,并且如果用户的终端窗口较小,它将非常奇怪地换行。

所以我正在寻找的是 Python 中的一种(最好是简单的)方法,可以根据用户的终端宽度漂亮地打印表格数据,或者至少允许我指定用户的终端宽度,我将在其他地方得到,比如tabulate(data, 120)120列。有没有办法做到这一点?

0 投票
4 回答
5957 浏览

python - Python隐藏已经打印的文本

我正在创建一个简单的两人棋盘游戏,每个玩家必须将棋子放在自己的棋盘上。我想做的是:

  • 为两个玩家打开一个新的终端窗口(无论程序在哪个操作系统上运行),以便将棋盘保存在变量中,但另一个玩家无法向上滚动以查看他们放置棋子的位置。

  • 完全清除当前终端,这样任何玩家都无法滚动并看到其他玩家的棋盘。我知道 unix 'clear' 命令,但它没有达到我想要的效果,并且不适用于所有操作系统(尽管这可能是我必须牺牲的东西才能获得有效的解决方案)

我已尝试清除屏幕,但无法完全删除所有文本。我没有偏好;哪种方法更容易。此外,如果使用我没有想到的不同方法会更容易,欢迎所有其他建议。提前致谢!

编辑:其他解决方案看起来文本已被清除,但用户仍可以向上滚动并查看已清除的文本。我想要一种方法来删除用户可以看到此文本的任何方式。

编辑2:请阅读其他答案和评论,因为它们提供了有关整个主题的大量信息。特别感谢@zondo。

0 投票
1 回答
679 浏览

python - Urwid 水平菜单 - 返回之前的状态或重新启动循环

我正在基于Urwid 的 Horizo​​ntal Menu示例构建一个应用程序。我有一个项目,我想显示一些信息。我在下面有一个“确定”按钮,我希望它可以将菜单弹出回之前的状态,或者重新启动整个屏幕/循环。

在示例中,他们使用ExitMainLoop(),但我不想退出 - 我只想重新启动它。因此,我已将回调更改为不同的函数 - 但我所有的尝试要么什么都不做,要么让我的程序崩溃。

以下是相关位:

启动菜单:

相关菜单类/功能。我的问题是 -does_nothing函数中有什么?

0 投票
1 回答
82 浏览

c# - 强制类包含/使用它们自己的抽象类的特定实现

我正在用 C# 开发一个 TUI 库,我需要有关如何为显示对象制作颜色主题的建议。可以在屏幕上绘制的对象都继承自这个接口:

或者更确切地说,每个可绘制对象的接口都实现了这个接口(IWindowis a IDrawable)。每个IDrawable都绘制在由 Area 结构表示的控制台窗口的指定部分上:

对象的实际绘制由静态Display类中的方法处理,这些方法调用Console.Write()DisplayChars 中的每个元素。我希望每个继承自IDrawable的类都被迫实施其自己的规则,以将其区域划分为不同的颜色区域,例如,弹出窗口可能有单独的可着色区域用于其外边框、其标题(在其内部外边界)及其内部区域。

一段时间以来,我一直在思考如何做到这一点。我需要创建一个类型 ,ColorScheme来包含用什么颜色写什么字符的规则。我决定最好的方法是让它成为一个抽象类,其中包含一个“子区域”列表,颜色可以单独应用。

我希望每个非抽象IDrawable都必须实现自己的继承自ColorScheme. 例如,抽象Window : IWindow类将没有这样的实现,但PopupWindow : Window类必须具有相应的类型,PopupWindowColorScheme : ColorScheme其中的作者PopupWindow将定义如何将类拆分Area为单独的区域。每个PopupWindow都有自己的这种类型的实例来包含其特定的颜色。

这可能吗?如果没有,是否有另一种方法可以强制IDrawable类型作者指定将其区域划分为可着色区域的方法?