当前位置: 主页 > 建站知识 > 小程序

桌面小程序-c++桌面小程序

发布时间:2023-01-26 10:31   浏览次数:次   作者:佚名

【Go Fyne】四行核心代码实现你的第一个GUI界面(下)Go语言GUI-Go Fyne

前言

本系列学习详细视频教学地址:2022 Go语言实战课程使用Go Fyne框架快速开发GUI程序课程【用Go开发桌面和移动端程序】

本系列博客仅作为记录学习之用。

通过记录 Go fyne 学习来构建桌面应用程序。 它们快速、高效且相对较小。

Fyne - 用于构建 GUI 应用程序的库。 它生成非常小的二进制文件,几乎没有依赖项。

根据 Go 语言的特点,我们可以为 Mac、Windows 或 Linux 制作应用程序……

实现效果如下:

实现效果

第一个GUI界面的实现和详细的环境配置可以参考上一篇文章:【Go Fyne】四行核心代码实现你的第一个GUI界面(上)Go语言GUI-Go Fyne

一、Vscode的一些配置(配置Go的扩展) 1.1 第一步:

首先,Ctrl+shift+P,输入go:in,选择图中的选项;

配置1

选择所有项目后点击确定;

配置2

稍等片刻,可以在输出窗口看到所有工具都安装成功。

配置成功

1.2 第二步:

搜索 gotemplate-syntax 并安装它。

配置二

1.3 关于其他工具组件:

1.制作:

这是一个非常好用且非常常用的构建工具。

2.巧克力味:

Windows 附带的巧克力被称为巧克力味。 安装好chocolatey之后,通过chocolatey安装make。

3、C编译器(C compiler):

tdm-gcc - 便于构建良好的应用程序。 当然你也可以按照官网推荐安装msys2。

2.关于代码

1. go mod init fynehw - 创建一个新的 go mod 文件。

2. go get fyne.io/fyne/v2 - 使代码干净,但实际上并没有完成工作。

3. a := app.New()——赋值a创建一个新的应用程序; 创建一个名为 a 的小变量并将其作为我的应用程序。

4. w := a.NewWindow(“Hello, World!”)——声明变量w来创建应用程序a的窗口,否则什么都看不到。 标题为 Hello, World! 的窗口是为应用程序 a 创建的。

5. w.SetContent(widget.NewLabel(“Hello, World!”))——设置窗口中的内容——>将窗口的内容设置为小部件包(widgets)中的一个小部件(这里使用Label—label ) —> 标签内容为Hello, World!。

放入窗口的东西称为容器 - 稍后会详细介绍。

6. w.ShowAndRun()——启动应用程序。

3.应用结构

变量 a 是我们创建的应用程序。 一个应用程序有一个变量,其类型从未被使用过(一个应用程序有一个变量是您永远不会使用的类型);

每个应用至少需要有一个窗口,w为窗口,标题为Hello, World!;

窗口中的内容是由小部件组成的,小部件有很多种,比如标签、按钮、文本输入等等。

应用程序通过show显示窗口,通过run运行程序。 这里通过w.ShowAndRun()的一个命令实现了两个操作。 另外,我们也可以通过w.Show()和a.Run()这两个命令来达到同样的效果。 以下示例代码与上一篇文章中的代码具有相同的效果。

例如:

package main
import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/widget"
)
func main() {
	a := app.New()
	w := a.NewWindow("Hello, World!")
	w.SetContent(widget.NewLabel("Hello, World!"))
	w.Show()
	a.Run()
}

当代码运行到w.ShowAndRun()时,程序会一直执行event loop或者run loop桌面小程序桌面小程序,之后不会执行任何代码; 它只是在后台运行,监听点击、点击、移动或任何其他可能的动作。 它在后台侦听事件,并在采取相应操作时对其进行操作。 在我们终止应用程序之前,代码不会继续向下。

例如:

package main
import (
	"fmt"
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/widget"
)
func main() {
	a := app.New()
	w := a.NewWindow("Hello, World!")
	w.SetContent(widget.NewLabel("Hello, World!"))
	w.ShowAndRun()
	tidy()
}
func tidy() {
	fmt.Println("would tidy up")
}

只有在我们关闭应用后,代码才会继续执行tidy(),如下图所示:

tidy

后记

本部分研究是对Go语言GUI制作的初步探索。

我设置了相应的专栏,喜欢的可以订阅哦~