我无法用tview更新文本

  • 本文关键字:更新 文本 tview go tui
  • 更新时间 :
  • 英文 :


我在Go语言中使用tview。

我想用下面的代码来显示";hoge";在终端上,但它没有显示。

package main
import (
"fmt"
"github.com/rivo/tview"
)
func main() {
tui := newTui()
tui.Run()
tui.WriteMessage("hoge")
}
type Tui struct {
app  *tview.Application
text *tview.TextView
}
func (t *Tui) Run() {
t.app.Run()
}
func (t *Tui) WriteMessage(message string) {
fmt.Fprintln(t.text, message)
}
func newTui() *Tui {
text := tview.NewTextView()
app := tview.NewApplication()
app.SetRoot(text, true)
text.SetChangedFunc(func() { app.Draw() })
tui := &Tui{app: app, text: text}
return tui
}

我不想更新newTui()函数中的文本。

我该如何让它出现?

func (*Application) Run():

Run启动应用程序,从而启动事件循环。此函数当调用Stop()时返回。

即永远不会到达程序中的语句tui.WriteMessage("hoge"),因为Run()在明确停止之前不会返回。因此,要查看打印在终端中的hoge,必须在Run()之前调用tui.WriteMessage("hoge")

func main() {
tui := newTui()
tui.WriteMessage("hoge")
tui.Run()
}

最新更新