nenki.ui

module
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2024 License: BSD-3-Clause

README

Nenki.UI

基于gio 0.4.0(固定版本)实现的更好的golang gui框架

请使用go get github.com/Seikaijyu/nenki.ui@latest以获取包

以下是一个简单的例子

package main

import (
   "fmt"

   "github.com/Seikaijyu/nenki.ui/app"
   "github.com/Seikaijyu/nenki.ui/utils"
   "github.com/Seikaijyu/nenki.ui/widget"
   "github.com/Seikaijyu/nenki.ui/widget/axis"
)

func main() {
   app.NewApp("测试").Title("Layout").
      Then(func(self *app.App, root *widget.ContainerLayout) {
         self.Background(utils.HexToRGBA("#00ffac0a"))
         root.AppendChild(widget.NewRowLayout().
            Then(func(row *widget.RowLayout) {
               self.Then(func(self *app.App, root *widget.ContainerLayout) {
                  list := widget.NewListLayout(axis.Vertical).ScrollMinLen(30)
                  cloumn2 := widget.NewColumnLayout()
                  row.AppendFlexChild(2.5, widget.NewBorder(list))
                  row.AppendFlexChild(6, widget.NewBorder(cloumn2))
                  for i := 0; i < 10000; i++ {
                     list.AppendChild(widget.NewBorder(widget.NewButton(fmt.Sprintf("Item %d", i)).
                        CornerRadius(0).Background(utils.HexToRGBA("#00fff00f")).FontColor(utils.HexToRGBA("#000000"))))
                  }
                  cloumn2.AppendFlexChild(1, widget.NewBorder(widget.NewContainerLayout()))
                  cloumn2.AppendFlexChild(8, widget.NewBorder(widget.NewContainerLayout()))
               })
            }),
         )
      })

   // 阻塞
   app.Run()
}

运行后应该能看到以下结果 image

Directories

Path Synopsis
应用程序窗口管理器 应用程序窗口管理器不实现MonadInterface
应用程序窗口管理器 应用程序窗口管理器不实现MonadInterface
UI上下文管理器,是拼接UI和App的中间件 因为是中层(用户不可见),所以不实现MonadInterface
UI上下文管理器,是拼接UI和App的中间件 因为是中层(用户不可见),所以不实现MonadInterface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL