go-sciter桌面应用html元素调用go函数打开新的窗口

在打开窗口之前,go函数中定义窗口的按钮触发函数,然后在go中执行打开窗口


package main

import(
    "fmt"
    "github.com/sciter-sdk/go-sciter"
    "github.com/sciter-sdk/go-sciter/window"
)


func main(){

    w,err := window.New(sciter.SW_TITLEBAR|
    sciter.SW_RESIZEABLE|
    sciter.SW_CONTROLS|
    sciter.SW_MAIN|
    sciter.SW_ENABLE_DEBUG,

    //给窗口设置个大小
    &sciter.Rect{Left: 500, Top: 300, Right: 1300, Bottom: 900});

    if err != nil{
        println(err)
    }

    w.LoadFile("bindelement.html")

    w.SetTitle("cam-wallet")

    //获取根元素
    root, _ := w.GetRootElement()
    //设置元素处理程序
    setElementHandlers(root)

    w.Show()

    w.Run()

    println("from closed")
}


//设置元素的处理程序
func setElementHandlers(root *sciter.Element) {
    btn1, _ := root.SelectById("btnShowDialog")
    //处理元素简单点击事件
    btn1.OnClick(func() {
        fmt.Println("btn1被点击了")
        w,err := window.New(sciter.SW_TITLEBAR|
            sciter.SW_RESIZEABLE|
            sciter.SW_CONTROLS|
            sciter.SW_MAIN|
            sciter.SW_ENABLE_DEBUG,

            //给窗口设置个大小
            &sciter.Rect{Left: 600, Top: 400, Right: 900, Bottom: 600});
            if err != nil{
                println(err)
            }
        w.LoadFile("index.html")
        w.Show()
        w.Run()
    })

}

猜你喜欢

转载自blog.csdn.net/w88193363/article/details/80617733
今日推荐