Skip to content

RichText

Demonstrates how to display styled and formatted text using the RichText widget in Fyne, including bold, italic, hyperlinks, and more.

Show Code
package main
import (
"net/url"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/widget"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("Rich Text")
// Create a RichText widget with multiple segments
rich := widget.NewRichText(
&widget.TextSegment{Text: "Hello ", Style: widget.RichTextStyleStrong}, // Bold
&widget.TextSegment{Text: "Fyne ", Style: widget.RichTextStyleEmphasis}, // Italic
&widget.HyperlinkSegment{Text: "Website", URL: parseURL("https://fyne.io")}, // Hyperlink
&widget.TextSegment{Text: "\n\nThis is code:", Style: widget.RichTextStyleCodeBlock}, // Code
)
myWindow.SetContent(rich)
myWindow.Resize(fyne.NewSize(300, 200))
myWindow.ShowAndRun()
}
func parseURL(urlStr string) *url.URL {
uri, err := url.Parse(urlStr)
if err != nil {
return nil
}
return uri
}