欢迎光临散文网 会员登陆 & 注册

learn fyne 4 添加中文支持

2023-07-09 08:05 作者:bl4cyy  | 我要投稿

通过自定义主题,使用中文字体来支持中文

golang版本要在1.16以上,下载字体文件,新建文件mytheme.go,内容如下:

package main

import (

 _ "embed"

"image/color"

 "fyne.io/fyne/v2"

 "fyne.io/fyne/v2/theme" 

// 得意黑https://github.com/atelier-anchor/smiley-sans 

//go:embed SmileySans-Oblique.ttf 

var font []byte 

 var myfont = &fyne.StaticResource{ StaticName:    "FZLTCXHJW", StaticContent: font, }

type theme1 struct{} 

 var _ fyne.Theme = (*theme1)(nil) 

func (*theme1) Font(s fyne.TextStyle) fyne.Resource { 

    return myfont 

func (*theme1) Color(n fyne.ThemeColorName, v fyne.ThemeVariant) color.Color { 

    return theme.DefaultTheme().Color(n, v)

 }

func (*theme1) Icon(n fyne.ThemeIconName) fyne.Resource { 

    return theme.DefaultTheme().Icon(n)

 } 

func (*theme1) Size(n fyne.ThemeSizeName) float32{

     return theme.DefaultTheme().Size(n) 

}

在main.go中使用自定义主题:

package main

import (

     "fyne.io/fyne/v2" 

    "fyne.io/fyne/v2/app"

     "fyne.io/fyne/v2/theme"

     "fyne.io/fyne/v2/widget"

)

 func main() {

     a := app.NewWithID("fyne1")

     a.Settings().SetTheme(&theme1{}) 

    w := a.NewWindow("fyne1") 

    w.SetIcon(theme.FyneLogo()) 

    w.Resize(fyne.NewSize(1000, 700)) 

    lbl1 := widget.NewLabel("Welcome to fyne! 欢迎学校fyne框架!") 

    w.SetContent(lbl1) 

    w.CenterOnScreen() 

    w.ShowAndRun()

}

运行 go run .

中文正常显示


learn fyne 4 添加中文支持的评论 (共 条)

分享到微博请遵守国家法律