Go 言語プログラミングでは、ウィンドウを閉じるのが一般的なタスクである可能性があります。 GUI アプリケーションの場合、ユーザーが閉じるボタンをクリックしたときに、プログラム内のイベントをキャプチャし、データの保存や終了の確認などの対応する操作を実行する必要があります。この記事では、Go 言語でウィンドウを閉じる方法について説明します。
まず、いくつかの GUI ライブラリを使用してウィンドウを作成し、イベントを処理する必要があります。現在、Go 言語で最も人気のある GUI ライブラリには、fyne、gotk3、qt などが含まれます。例として fyne ライブラリを使用します。 Fyne は、使いやすく効率的でクロスプラットフォームなデスクトップおよびモバイル アプリケーションを構築するための最新の Go ベースの GUI フレームワークです。開始する前に、fyne ライブラリがインストールされていることを確認してください。次のコマンドを使用してターミナルにインストールできます:
go get fyne.io/fyne
Create window
fyne ライブラリを使用する前に、次のことを理解する必要があります。その基本、知識。 fyne では、各アプリケーションにはアプリケーションのコア オブジェクトである App オブジェクトがあります。 「Hello World」というアプリケーションは、次のコマンドを使用して作成できます:
app := fyne.NewApp("Hello World")
次に、ウィンドウ オブジェクトを作成する必要があります。次のコマンドを使用してウィンドウを作成できます:
win := app.NewWindow("My Window")
これにより、「My Window」という名前のウィンドウが作成されます。これで、ウィンドウにコンテンツを追加できます。たとえば、ラベル コンポーネントをウィンドウのタイトルとして追加できます。
title := widget.NewLabel("My Window") win.SetTitleBar(widget.NewVBox(title))
GUI アプリケーションはイベント駆動型であり、fyne も例外ではありません。次に、ウィンドウの close イベント ハンドラーを追加する必要があります。
close イベントをキャプチャする
fyne ライブラリでは、各ウィンドウに CloseRequest イベント ハンドラーを追加できます。このイベントは、ユーザーが閉じるボタンをクリックしたときに発生します。次のコードを使用して CloseRequest イベント ハンドラーを追加できます。
win.SetOnClosed(func() { fmt.Println("Window closed") })
ユーザーが閉じるボタンをクリックすると、コールバック関数が実行され、データの保存やウィンドウの閉じなど、必要な操作をここで実行できます。ネットワーク接続など。この例では、「ウィンドウが閉じられました」というメッセージをコンソールに出力するだけです。
完全なコードは次のとおりです:
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() }
このプログラムを実行すると、「My Window」という名前のウィンドウが表示されます。 [閉じる]ボタンをクリックすると、コンソールに「ウィンドウが閉じられました」というメッセージが出力されます。
結論
この記事ではGo言語でウィンドウを閉じる方法を紹介します。 fyne ライブラリを使用して GUI アプリケーションを作成し、CloseRequest イベント ハンドラーをウィンドウに追加しました。ユーザーが閉じるボタンをクリックすると、コールバック関数が実行され、必要な操作を実行できます。これらの基本をマスターすることで、より複雑な GUI アプリケーションを構築できます。
以上がgolang ウィンドウを閉じるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。