我们使用go-sciter,就不得不提Sciter,Sciter 是一个嵌入式的 HTML/CSS/脚本引擎,旨在为桌面应用创建一个 UI 框架层。

说简单点就是我们通过它可以像写html,css那样写桌面UI。

一、环境准备

第一步:从https://sciter.com/download/地址下载sciter-sdk

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

注意上面的请根据你自已的系统选择相应文件

第二步:由于使用到cgo,所以window下需要安装mingw或tdm-gcc(建议安装tdm-gcc)

下载地址:

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

下载地址:

http://tdm-gcc.tdragon.net/download

下载:mingw-get-setup.exe或tdm64-gcc-5.1.0-2.exe

安装,然后把mingw\bin或tdm-gcc\bin加入到环境变量中

第三步:cmd进入gopath目录并运行

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

二、通过html,css编写简单UI

demo1.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();

}

demo1.html代码如下:

你好,世界

如果出现乱码请把demo1.html文件转成gb2312并加上或者转成UTF-8+BOM(注意是加BOM,加BOM,加BOM)。

三、写个表单的UI

demo2.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();

}

demo2.html代码如下:

表单用户:

密码:

性别:

爱好:

看书

打球

旅游

简介:

是不是感觉很方便,我个人觉得未来这种方式写UI会成为主流,传统的过于繁琐和麻烦了。

关于一些问题的说明:

1、w.LoadFile() 无法加载相对路径的文件,请确保你运行程序的目录是否正确。

比如新版本的GoLand,在你右键Run时,程序所指向的目录是你New Project时设置Location的目录,而不是此时go脚本所在的目录。

go html桌面,go语言使用go-sciter创建桌面应用(一) 简单的通过html,css写ui相关推荐

  1. Go语言使用go-sciter创建桌面应用(一) 简单的通过html,css写ui

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

  2. android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法

    Android的开发其实是比较灵活的,其实在安装了Android应用程序之后,会在桌面上自动创建快捷方式,接下来爱站技术频道小编将会介绍Android应用启动后自动创建桌面快捷方式的实现方法给大家,有 ...

  3. centos7桌面没有计算机图标,centos7下创建桌面图标的方法

    一.intellijidea 创建idea.desktop文件 #!/usr/bin/env xdg-open [Desktop Entry] Name=IdeaIU Comment=IdeaIU E ...

  4. 系统权限服务创建桌面进程(进程也是系统权限)

    系统权限服务,创建进程. 一丶简介 为什么要创建系统权限服务.首先.强调权限一说. 我们创建的系统服务默认是系统权限的.然后系统权限(System)创建我们的进程.那么也是系统权限.我们的进程如果要注 ...

  5. Linux系统创建桌面快捷方式,安装idea,配置idea环境

    一.下载Linux版IDEA 使用浏览器打开IDEA官网的链接:https://www.jetbrains.com/idea/或https://www.jetbrains.com/idea/downl ...

  6. Windows7桌面变更语言简易切换不重装

    Windows7桌面变更语言简易切换不重装  就能够手機監聽器发觉如今的Windows7体系从图标.菜单.协助到控制面板等等都不再是熟习的简体中文了而是酿成了所选择的繁体中文或英文, 当完成注销操纵再 ...

  7. Gox语言中使用Sciter库进行GUI图形界面编程-GX23.1

    Sciter是非常优秀的跨平台GUI图形界面编程库,只需附带一个动态链接库文件,就可以实现基于HTML/CSS/TiScript的图形界面,并且已经经过很多公司和商用产品的实际检验,稳定可靠.我们常见 ...

  8. 如何在Ubuntu上创建桌面快捷方式

    Desktop icons should be simple, but they're not on Ubuntu 18.04 LTS and newer releases like Ubuntu 1 ...

  9. win10电脑桌面透明便签_DesktopNoteOK桌面便签小工具下载|windows10桌面透明便签插件_最火软件站...

    使用DesktopNoteOK桌面便签小工具,用户在电脑桌面上快速创建笔记,通过设置笔记的选项来创建不一样的笔记类型,桌面笔记有多个主题,随机背景和文本颜色,让笔记变得更加丰富多彩,现在最火软件站提供 ...

最新文章

  1. R语言ggplot2可视化:使用热力图可视化dataframe数据、自定义设置热力图的颜色、自定添加标题、轴标签、热力图线框等
  2. eclipse 设置 按键提示
  3. 解决webpack打包后-webkit-box-orient: vertical ;消失问题
  4. 【干货】规模化敏捷DevOps四大实践之持续探索CE(中英对照版)
  5. 百度地图android绘图类,Class:android总类/android离线地图类
  6. Java面向对象(16)--单例(Singleton)设计模式
  7. grade java_Gradle Java 构建入门
  8. mysql解压rpm文件在哪_[mysql] mysql 源码安装解压 rpm 包命令
  9. 简述linux命令的,简述linux系统以及一些简单的命令
  10. 卖奥特曼卡片年入十亿:赚钱这事,你还得相信光的力量
  11. 展讯sprd_battery.c 充电驱动
  12. 调和曲线图和轮廓图的比较
  13. QT5实现串口收发数据(上位机与下位机通信)
  14. 华为南研所提前批面试(2015年8月22日)
  15. SCI-15种投稿状态
  16. macOS Big Sur 11.5.2 20G95 Installer for OpenCore 0.7.1 and CLOVER 5138 and PE 三 EFI 分区原版镜像
  17. SQL进行数据过滤的方法
  18. java 阶梯价格计算_【java】求阶梯型的服务费总和
  19. 偏差(bias)和方差(variance)
  20. qt高亮快捷键_详细,Qt Creator快捷键大全,附快捷键配置方法

热门文章

  1. 网络工程基础框架3层次模型 ,1接入层2 汇聚层 3核心层
  2. 大学计算机vb考试有题库原题吗,大学VB考试题库
  3. Java面试必备MySQL知识(一)
  4. JVM常用垃圾回收算法
  5. 清华大学电子商务与互联网思维研修班总结-“大数据时代的商业机会
  6. css什么操作下会脱离文档流
  7. SonicOperator之超声波
  8. Google 真的「不作恶」吗
  9. 小学计算机第二课堂内容,小学第二课堂活动实施方案
  10. 快充协议(QC/PD/PE)