Maison > développement back-end > Golang > Golang ferme la fenêtre

Golang ferme la fenêtre

王林
Libérer: 2023-05-22 12:37:07
original
607 Les gens l'ont consulté

En programmation Go, fermer une fenêtre peut être une tâche courante. Pour les applications GUI, lorsque l'utilisateur clique sur le bouton de fermeture, nous devons capturer l'événement dans le programme et effectuer les opérations correspondantes, telles que la sauvegarde des données, la confirmation de la fermeture, etc. Dans cet article, nous verrons comment fermer une fenêtre en langage Go.

Tout d'abord, nous devons utiliser certaines bibliothèques GUI pour créer des fenêtres et gérer les événements. Actuellement, les bibliothèques GUI les plus populaires dans le langage Go incluent fyne, gotk3, qt, etc. Nous utiliserons la bibliothèque fyne comme exemple. Fyne est un framework GUI moderne basé sur Go permettant de créer des applications de bureau et mobiles faciles à utiliser, efficaces et multiplateformes. Avant de commencer, assurez-vous d'avoir installé la bibliothèque fyne, qui peut être installée dans le terminal à l'aide de la commande suivante :

go get fyne.io/fyne
Copier après la connexion

Créer une fenêtre

Avant d'utiliser la bibliothèque fyne, nous devons comprendre ses bases. En réalité, chaque application possède un objet App, qui est l'objet principal de l'application. Une application appelée "Hello World" peut être créée à l'aide de la commande suivante :

app := fyne.NewApp("Hello World")
Copier après la connexion

Ensuite, nous devons créer un objet fenêtre. Une fenêtre peut être créée à l'aide de la commande suivante :

win := app.NewWindow("My Window")
Copier après la connexion

Cela créera une fenêtre appelée "Ma fenêtre". Nous pouvons maintenant ajouter du contenu à la fenêtre. Par exemple, nous pouvons ajouter un composant label comme titre de la fenêtre :

title := widget.NewLabel("My Window")
win.SetTitleBar(widget.NewVBox(title))
Copier après la connexion

Les applications GUI sont pilotées par des événements, et en réalité, cela ne fait pas exception. Ensuite, nous devons ajouter un gestionnaire d'événements de fermeture pour la fenêtre.

Capturer les événements de fermeture

Dans la bibliothèque Fyne, nous pouvons ajouter un gestionnaire d'événements CloseRequest pour chaque fenêtre. Cet événement est déclenché lorsque l'utilisateur clique sur le bouton de fermeture. Nous pouvons ajouter le gestionnaire d'événements CloseRequest en utilisant le code suivant :

win.SetOnClosed(func() {
    fmt.Println("Window closed")
})
Copier après la connexion

Lorsque l'utilisateur clique sur le bouton de fermeture, la fonction de rappel sera exécutée et nous pouvons effectuer ici certaines opérations nécessaires, telles que la sauvegarde des données, la fermeture de la connexion réseau, etc. . Dans cet exemple, nous imprimons simplement un message sur la console : "Fenêtre fermée".

Le code complet est le suivant :

package main

import (
    "fmt"
    "fyne.io/fyne"
    "fyne.io/fyne/widget"
)

func main() {
    // 创建应用程序
    app := fyne.NewApp("Hello World")

    // 创建窗口
    win := app.NewWindow("My Window")

    // 添加标题
    title := widget.NewLabel("My Window")
    win.SetTitleBar(widget.NewVBox(title))

    // 添加CloseRequest事件处理程序
    win.SetOnClosed(func() {
        fmt.Println("Window closed")
    })

    // 显示窗口
    win.ShowAndRun()
}
Copier après la connexion

Lorsque le programme est exécuté, une fenêtre nommée "Ma fenêtre" s'affichera. Lorsque vous cliquez sur le bouton Fermer, un message « Fenêtre fermée » est affiché sur la console.

Conclusion

Cet article explique comment fermer une fenêtre en langage Go. Nous avons créé une application GUI à l'aide de la bibliothèque fyne et ajouté un gestionnaire d'événements CloseRequest à la fenêtre. Lorsque l'utilisateur clique sur le bouton de fermeture, la fonction de rappel est exécutée dans laquelle nous pouvons effectuer certaines opérations nécessaires. En maîtrisant ces bases, nous pouvons créer des applications GUI plus complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal