go语言GUI 一

前言

我们使用go-sciter,就不得不提Sciter,Sciter 是一个嵌入式的 HTML/CSS/脚本引擎,旨在为桌面应用创建一个 UI 框架层。
说简单点就是我们通过它可以像写GUI。

目录

一、环境准备

1、下载sciter-sdk

第一步:从地址下载sciter-sdk

解压,找到
sciter-sdk\bin\64\sciter.dll
复制到
c:\Windows\System32

TIPS:
上面的请根据你的系统选择相应文件

2、安装MingW

第二步:由于使用到cgo,所以Window下需要安装Mingw
下载地址:

https://sourceforge.net/projects/mingw/files/

安装可以参考cygwin
也可以直接下载对应文件,把mingw\bin,添加到path里。

3 、安装go-sciter

go get -u github.com/sciter-sdk/go-sciter

如果是设置了 gomodule111=on的注意参考这篇
输入以下代码:

go mod init go-sciter
go mod edit -require github.com/sciter-sdk/go-sciter@latest

二、开始编写GUI

1、 Hello World

demo_one.go代码如下:

	
package main
 
import (
    "github.com/sciter-sdk/go-sciter"
    "github.com/sciter-sdk/go-sciter/window"
    "log"
)
 
func main() {
    //创建window窗口
    //参数一表示创建窗口的样式
    //SW_TITLEBAR 顶层窗口,有标题栏
    //SW_RESIZEABLE 可调整大小
    //SW_CONTROLS 有最小/最大按钮
    //SW_MAIN 应用程序主窗口,关闭后其他所有窗口也会关闭
    //SW_ENABLE_DEBUG 可以调试
    //参数二表示创建窗口的矩形
    w, err := window.New(sciter.SW_TITLEBAR|
        sciter.SW_RESIZEABLE|
        sciter.SW_CONTROLS|
        sciter.SW_MAIN|
        sciter.SW_ENABLE_DEBUG,
        nil);
    if err != nil {
        log.Fatal(err);
    }
    //加载文件
    w.LoadFile("demo1.html");
    //设置标题
    w.SetTitle("你好,世界");
    //显示窗口
    w.Show();
    //运行窗口,进入消息循环
    w.Run();
}

demo_one.html代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
</head>
<h1>
Let's Start.
</h1>
<body>
    Hello World!
</body>
</html>

2、表单测试

demo_two.go代码如下:

	
package main
 
import (
    "github.com/sciter-sdk/go-sciter"
    "github.com/sciter-sdk/go-sciter/window"
    "log"
)
 
func main() {
    //创建window窗口
    //参数一表示创建窗口的样式
    //SW_TITLEBAR 顶层窗口,有标题栏
    //SW_RESIZEABLE 可调整大小
    //SW_CONTROLS 有最小/最大按钮
    //SW_MAIN 应用程序主窗口,关闭后其他所有窗口也会关闭
    //SW_ENABLE_DEBUG 可以调试
    //参数二表示创建窗口的矩形
    w, err := window.New(sciter.SW_TITLEBAR|
        sciter.SW_RESIZEABLE|
        sciter.SW_CONTROLS|
        sciter.SW_MAIN|
        sciter.SW_ENABLE_DEBUG,
        //给窗口设置个大小
        &sciter.Rect{Left: 0, Top: 0, Right: 500, Bottom: 500});
    if err != nil {
        log.Fatal(err);
    }
    //加载文件
    w.LoadFile("demo2.html");
    //设置标题
    w.SetTitle("表单");
    //显示窗口
    w.Show();
    //运行窗口,进入消息循环
    w.Run();
}

demo_two.html代码如下:

	
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }
 
        table td {
            padding: 10px;
            border: 1px solid #ccc;
        }
 
        table td:first-child {
            white-space:nowrap;
        }
    </style>
</head>
<body>
<form action="">
    <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text"></td>
        </tr>
         <tr>
            <td>昵称:</td>
            <td><input type="text"></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password"></td>
        </tr>
        <tr>
            <td>性别:</td>
            <td>
                <input type="radio" value="0">男
                <input type="radio" value="1">女
            </td>
        </tr>
        <tr>
            <td>爱好:</td>
            <td>
                <input type="checkbox" value="">看书
                <input type="checkbox" value="">打球
                <input type="checkbox" value="">旅游
            </td>
        </tr>
        <tr>
            <td>简介:</td>
            <td>
                <textarea name="" id="" cols="30" rows="10"></textarea>
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="提交"></td>
        </tr>
    </table>
</form>
</body>
</html>

未完待续

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值