如何使用 tview 在 Go 应用程序中获取屏幕尺寸(宽度、高度)?

问题描述 投票:0回答:1

“我目前正在开发一个 Go 应用程序,使用 tview 库来构建基于终端的用户界面。我需要检索屏幕尺寸(宽度和高度)以正确配置我的应用程序布局。但是,我找不到tview库中直接函数获取屏幕尺寸。

有人可以指导如何在使用 tview 时获取屏幕尺寸吗?如果 tview 中没有直接功能,是否有推荐的方法使用底层 tcell 包或任何其他方法来实现此目的?”

我试图在 tview 库中找到一个直接函数来检索屏幕尺寸,但我找不到。接下来,我探索了 tcell 包,它是 tview 使用的底层终端处理库,但在使用 tcell.Screen.Size() 获取屏幕尺寸时遇到了困难。

我的期望是找到一种直接的方法来检索屏幕宽度和高度(通过 tview 或 tcell),以正确配置我的 Go 应用程序的布局。但是,我目前不确定正确的方法,并且希望获得有关如何实现这一目标的指导。

go terminal tty
1个回答
0
投票

假设您使用的是基于Linux的系统:

import "github.com/gdamore/tcell"
p := GetPrinter()
sty := st.Foreground(tcell.ColorRed).Dim(true)
x,y := p.Screen.Size()
p.Println(fmt.Sprintf("%v,%v:",x,y), sty)
p.Return

这确实有效,如果你调整窗口大小,你会得到不同的结果。我在 Windows 系统上尝试过这个,似乎也可以工作,但我无法调整窗口大小来验证这一点。

© www.soinside.com 2019 - 2024. All rights reserved.