登录
首页 >  Golang >  Go问答

在fyne Go中使用canvas.NewText()实现滚动文本的方法说明

来源:stackoverflow

时间:2024-02-06 09:00:23 457浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《在fyne Go中使用canvas.NewText()实现滚动文本的方法说明》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我是编程新手,我想开发一个应用程序,但我需要在我的应用程序中向用户显示非常大的文本。 我不确定 widget.newrichtextwithtext() 是否用于此目的。 该代码按我的预期工作。

package main

import (
    "strings"

    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/container"
    "fyne.io/fyne/v2/widget"
)

func main() {
    a := app.new()
    
    w := a.newwindow("some practice")
    
    w.resize(fyne.newsize(400, 400))
    
    text := widget.newrichtextwithtext((strings.repeat("this\n", 100)))
    
    c := container.newmax(container.newvscroll(text))
    
    w.setcontent(c)
    
    w.showandrun()
}

但是这个不起作用。

package main

import (
    "image/color"
    "strings"

    "fyne.io/fyne/v2"
    "fyne.io/fyne/v2/app"
    "fyne.io/fyne/v2/canvas"
    "fyne.io/fyne/v2/container"
)

func main() {
    a := app.New()
    
    w := a.NewWindow("Some Practice")
    
    w.Resize(fyne.NewSize(400, 400))
    
    text := canvas.NewText(strings.Repeat("this\n", 100), color.White)
    
    c := container.NewMax(container.NewVScroll(text))
    
    w.SetContent(c)
    
    w.ShowAndRun()
}

因为当我运行应用程序时,“ \n ”显示为无效字符而不是新行。 我的目标是使用 canvas.newtext() 显示“从上到下可滚动”的非常大的文本,但“ \n ”字符不起作用。不是从上到下滚动显示文本,而是将其打印为这个?这个?这个?


正确答案


使用 widget.label 显示“simple”文本:

text := widget.NewLabel(strings.Repeat("this\n", 100))

请注意,widget.label 可以“设置样式”(例如,您可以将其设置为斜体粗体)。

widget.richtext 如果您愿意,应该使用显示具有不同样式和格式的部分(称为段)的文本。 widget.label 只能作为一个整体进行样式设置。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在fyne Go中使用canvas.NewText()实现滚动文本的方法说明》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>