Rumah > pembangunan bahagian belakang > Golang > golang tutup tingkap

golang tutup tingkap

王林
Lepaskan: 2023-05-22 12:37:07
asal
615 orang telah melayarinya

Dalam pengaturcaraan bahasa Go, menutup tetingkap mungkin merupakan tugas biasa. Untuk aplikasi GUI, apabila pengguna mengklik butang tutup, kami perlu menangkap acara dalam program dan melakukan operasi yang sepadan, seperti menyimpan data, mengesahkan penutupan, dsb. Dalam artikel ini, kita akan membincangkan cara menutup tetingkap dalam bahasa Go.

Pertama, kita perlu menggunakan beberapa perpustakaan GUI untuk mencipta tetingkap dan mengendalikan acara. Pada masa ini, perpustakaan GUI paling popular dalam bahasa Go termasuk fyne, gotk3, qt, dsb. Kami akan menggunakan perpustakaan fyne sebagai contoh. Fyne ialah rangka kerja GUI berasaskan Go moden untuk membina aplikasi desktop dan mudah alih yang mudah digunakan, cekap dan merentas platform. Sebelum anda memulakan, pastikan anda memasang perpustakaan fyne Anda boleh memasangnya di terminal menggunakan arahan berikut:

go get fyne.io/fyne
Salin selepas log masuk

Buat tetingkap

Sebelum menggunakan perpustakaan fyne, kita perlu memahami. asasnya. Pada akhirnya, setiap aplikasi mempunyai objek App, yang merupakan objek teras dalam aplikasi. Aplikasi yang dipanggil "Hello World" boleh dibuat menggunakan arahan berikut:

app := fyne.NewApp("Hello World")
Salin selepas log masuk

Seterusnya, kita perlu mencipta objek tetingkap. Tetingkap boleh dibuat menggunakan arahan berikut:

win := app.NewWindow("My Window")
Salin selepas log masuk

Ini akan mencipta tetingkap yang dipanggil "Tetingkap Saya". Sekarang kita boleh menambah beberapa kandungan pada tetingkap. Sebagai contoh, kita boleh menambah komponen label sebagai tajuk tetingkap:

title := widget.NewLabel("My Window")
win.SetTitleBar(widget.NewVBox(title))
Salin selepas log masuk

Aplikasi GUI adalah dipacu peristiwa, dan fyne tidak terkecuali. Seterusnya, kita perlu menambah pengendali acara rapat untuk tetingkap.

Tangkap acara tutup

Dalam perpustakaan fyne, kita boleh menambah pengendali acara CloseRequest untuk setiap tetingkap. Peristiwa ini dicetuskan apabila pengguna mengklik butang tutup. Kami boleh menambah pengendali acara CloseRequest menggunakan kod berikut:

win.SetOnClosed(func() {
    fmt.Println("Window closed")
})
Salin selepas log masuk

Apabila pengguna mengklik butang tutup, fungsi panggil balik akan dilaksanakan dan kami boleh melakukan beberapa operasi yang diperlukan di sini, seperti menyimpan data, menutup sambungan rangkaian, dsb. Dalam contoh ini, kami hanya mencetak mesej ke konsol: "Tetingkap ditutup".

Kod lengkap adalah seperti berikut:

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()
}
Salin selepas log masuk

Apabila program dijalankan, tetingkap bernama "My Window" akan dipaparkan. Apabila butang Tutup diklik, mesej "Tetingkap tertutup" dikeluarkan ke konsol.

Kesimpulan

Artikel ini memperkenalkan cara menutup tetingkap dalam bahasa Go. Kami mencipta aplikasi GUI menggunakan perpustakaan fyne dan menambah pengendali acara CloseRequest pada tetingkap. Apabila pengguna mengklik pada butang tutup, fungsi panggil balik dilaksanakan di mana kita boleh melakukan beberapa operasi yang diperlukan. Dengan menguasai asas ini, kita boleh membina aplikasi GUI yang lebih kompleks.

Atas ialah kandungan terperinci golang tutup tingkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan