# go-gtk3 **Repository Path**: bzsometest/go-gtk3 ## Basic Information - **Project Name**: go-gtk3 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # go-gtk3 Go语言跨平台界面库 经测试,打包的界面,支持windows、Linux 参考资料:go-gtk3开发 https://blog.csdn.net/weixin_43968923/category_9825162.html ## 环境搭建 - 安装msys2,到安装目录执行msys2_shell.cmd https://www.msys2.org/wiki/MSYS2-installation/ - 修改msys2,镜像源 编辑/etc/pacman.d/mirrorlist,将清华源放在第一行 参照:https://mirror.tuna.tsinghua.edu.cn/help/msys2/ - 设置环境变量 添加path:msys64\mingw64\bin和msys64\mingw32\bin https://blog.csdn.net/tennysonsky/article/details/79221507 - 执行安装命令 ``` pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-toolchain base-devel glib2-devel ``` ### 打包发布 windows平台不能打包Linux界面。 Linux程序打包7.9M,通过UPX压缩,只有1.8M Windows程序打包10.8M,同UPX压缩,只有3.3M #### Centos打包 需要安装编译环境 yum install -y gtk3-devel cairo-devel glib-devel ### 个人理解及说明 由于gtk是基于C语言开发,go-gtk3只是调用了C语言的接口。因此很多接口仅仅只是做了一个反射,来实现gtk接口的调用, 并且go-gtk3文档较少,仅有部分示例。因此某些功能无法完成成,需要参照gtk的C语言版来实现(例如阻止窗口关闭)。