Der PHP-Editor Xiaoxin stellt Ihnen die Einstellung der Gocui-Rahmenfarbe in GoLang vor. gocui ist eine leistungsstarke Go-Sprachbibliothek zum Erstellen interaktiver Anwendungen mit Befehlszeilenschnittstellen. In Gocui können Sie die Schönheit und Lesbarkeit der Benutzeroberfläche erhöhen, indem Sie die Rahmenfarbe festlegen. Mit einfachen Codeänderungen können Sie den Rändern der Benutzeroberfläche benutzerdefinierte Farben hinzufügen, um Ihre Anwendung attraktiver zu gestalten. Als nächstes lernen wir, wie man die Gocui-Bibliothek in GoLang verwendet, um die Rahmenfarbe festzulegen!
Es gibt ein Problem mit dem Roboter mit künstlicher Intelligenz, also frage ich hier:
Ich habe diesen Code, er gibt nur zwei Fenster aus und statt Hintergrund möchte ich, dass der Rand grün ist.
Ich habe es versucht:
g.highlight = true
Jedes Dokument funktioniert immer noch nicht.
Das ist mein vollständiger Code:
package main import ( // "fmt" "log" "github.com/jroimartin/gocui" ) func main() { // Create a new gocui view g, err := gocui.NewGui(gocui.OutputNormal) if err != nil { log.Panicln(err) } defer g.Close() g.SetManagerFunc(layout) if err := g.SetKeybinding("", 'q', gocui.ModNone, quit); err != nil { log.Panicln(err) } if err := g.SetKeybinding("", '1', gocui.ModNone, view1); err != nil { log.Panicln(err) } if err := g.SetKeybinding("", '2', gocui.ModNone, view2); err != nil { log.Panicln(err) } if err := g.MainLoop(); err != nil && err != gocui.ErrQuit { log.Panicln(err) } } func updateView(g *gocui.Gui, v *gocui.View) error { // Check if the view is active if v != nil && v == g.CurrentView() { // If the view is active, set its background color to yellow v.BgColor = gocui.ColorYellow } else { // If the view is not active, set its background color to default (nothing) v.BgColor = gocui.ColorDefault } return nil } func layout(g *gocui.Gui) error { // maxX, maxY := g.Size() g.Highlight = true // Create a new view with the name "myView" if v, err := g.SetView("view1", 0, 0, 20, 10); err != nil { if err != gocui.ErrUnknownView { log.Panicln(err) } // Set the default background color of the view to nothing v.BgColor = gocui.ColorDefault v.Title = "View 1" v.Wrap = false // fmt.Fprintln(v, "View 1") } // Set a second view with the name "myOtherView" if v, err := g.SetView("view2", 25, 0, 45, 10); err != nil { if err != gocui.ErrUnknownView { log.Panicln(err) } // Set the default background color of the view to nothing v.BgColor = gocui.ColorDefault v.Title = "View 2" v.Wrap = false // fmt.Fprintln(v, "View 2") } return nil } func view1(g *gocui.Gui, v *gocui.View) error { if _, err := g.SetCurrentView("view1"); err != nil { return err } updateHighlighting(g, v) return nil } func view2(g *gocui.Gui, v *gocui.View) error { if _, err := g.SetCurrentView("view2"); err != nil { return err } updateHighlighting(g, v) return nil } func updateHighlighting(g *gocui.Gui, v *gocui.View) error { current := g.CurrentView() for _, view := range g.Views() { if view == current { current.BgColor = gocui.ColorGreen } else { view.BgColor = gocui.ColorDefault } } return nil } func quit(g *gocui.Gui, v *gocui.View) error { return gocui.ErrQuit }
view
的框架由呈现该框架的 gui
处理。您已将 gui
的突出显示设置为 true,但未设置 selbgcolor
或 selfgcolor
.
Von https://pkg.go.dev/github.com/jroimartin/gocui#gui:
// selbgcolor and selfgcolor allow to configure the background and // foreground colors of the frame of the current view. selbgcolor, selfgcolor attribute // if highlight is true, sel{bg,fg}colors will be used to draw the // frame of the current view. highlight bool
Fügen Sie g.selfgcolor = gocui.colorgreen
hinzu, indem Sie den Anfang des Layouts wie folgt ändern:
func layout(g *gocui.Gui) error { // maxX, maxY := g.Size() g.Highlight = true g.SelFgColor = gocui.ColorGreen ... ...
Dann erhalten Sie einen grünen Rand auf schwarzem Hintergrund:
Wenn Sie nicht möchten, dass auch der Hintergrund grün wird, entfernen Sie diese Zeile:
current.bgcolor = gocui.colorgreen
Es ist zunächst etwas verwirrend, da die view
和 gui
都有 selfgcolor
selbgcolor
和 highlight
,但是 view
-Eigenschaft den ausgewählten Text in der Ansicht steuert, nicht die Ränder der aktuellen Ansicht in der GUI.
Das obige ist der detaillierte Inhalt vonGoLang: Gocui-Randfarbe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!