您的位置 首页 golang

golang+webview 实现GUI配置过程 给大家安利一下

我们都听说 go 是一门非常简洁的语言,效率高,开发快,语法学会了之后用的非常爽,也容易看懂别人的开源代码( 因为它么有很多花里胡哨的语法,比 python 开源库容易理解,python很多大佬的库,大部分人是压根看不懂 源码 ),就是社区资源远远没有python多,唯一的缺点就是官方没有搞GUI库。导致很多不是专门搞编程工作的人,没办法对它提起兴趣,因为很鸡肋,连个界面都没有谁会喜欢呢,有人说它不适合搞 gui ,所以官方不搞gui库,而我觉得想让golang真的火爆起来必须学习python的做法,很多不适合的领域人家也喜欢支持一下,比如GUI 游戏,后端, 爬虫 这些其实python也不太合适(或者说并不是最优解),但是人家依然把这种领域搞了出来甚至还被培训机构改炒作到让新手觉得python很适合搞界面,搞后端,搞游戏,搞任何方向,而实际上python仅仅适合大数据,自动化测试(实际上也不是最优解,大部分厂用的是 java )以及 人工智能 (试验调参阶段)真的上线大厂还是会选择将代码转为 c++ ,才能效率高,它的作用明显就是用作于一种探索的工具来使用 人工智能的主要语言其实是c++。

而主角golang不一样,它拥有语法简单,机制明了的优势 并且效率还高的要死,编译后的程序也非常nice,文件也很小,唯一的缺点就是。。没界面了,python能做的它都能做,因为它和c和C++(轮子厂)的合作更加紧密无间,并且自己还能造轮子效率不比轮子厂低多少,而python是绝无可能造轮子的,它只能调用轮子,因为它压根没办法接触底层,效率也太低了。

所有很多领域并不是go不行,而是我们压根不知道或者市面上没有教程而已

今天我记录下我自己找了很久才搞成功的一个golang实现gui的列子。这个应该是目前go gui中最靠谱的了(我尝试过很多,因为我学习一门语言喜欢先研究GUI,有界面才有意思嘛)

这个库就是 webview(window平台仅支持 win10 往上之后的版本,因为需要 Edge浏览器 我记得win10之前好像么有这个浏览器,如今大部分人应该都已经升级了win10了吧)它是利用自带的浏览器来进行GUI显示的,这样打包后就文件比较小仅为10MB附近,不会和 qt 一样,,一大堆的文件100MB以上,甚至还编译不通过

1.首先是下载库(这个库不是主库是一个分支,这个是人家大佬修复了很多BUG的):

 go get github.com/polevpn/webview  

2.下载webview2(这是一个驱动,安装了这个golang就可以调用自带浏览器来作为界面了,你可以这样理解)

 #download-section  

选择版本

3.去你的pkg文件中一步一步找到下方这些文件

全部拷贝到你的工程根目录(新建一个工程,然后搞个main.go这个不用教吧)

就像这样

4.运行go mod init 命令 生成go.mod (意思就是将你要调用那些库,库去哪里下载,库的路径是什么这些信息写入require中)

 go mod init
go get -d -v ./...  

写完后就长这样,以后go就知道去这里找这个库了

5.直接将下方代码拷贝进去,然后就可以运行了

 package main

import "github.com/polevpn/webview"

func main() {

	w := webview.New(800, 600,false,true)
	defer w.Destroy()
	w.SetTitle("Minimal webview example")
	w.SetSize(800, 600, webview.HintNone)
	w.Navigate("#34;)
	w.Run()
}  

6.运行界面效果如下:

就把整个网页包含进来了,然后也可以进行事件绑定和js之间的数据互通,复杂的东西就自己写路由, html +css+js来写漂亮的界面支持vue框架

7。绑定事件的下期再说,你可以先看看这个库的官方网站(学会绑定事件基本就可以畅通无阻了)

 github.com/webview/webview  

8.编译成exe 也仅需要一行命令行

 go build -ldflags="-H windowsgui" -o webview-example.exe  

这个复制粘贴就好,后面的是exe名字 自己改下就好 然后图标什么的请去开源库官网看怎么设置

文章来源:智云一二三科技

文章标题:golang+webview 实现GUI配置过程 给大家安利一下

文章地址:https://www.zhihuclub.com/86855.shtml

关于作者: 智云科技

热门文章

发表评论

您的电子邮箱地址不会被公开。

网站地图