Simple windowed application: Difference between revisions
Content added Content deleted
m (added whitespace before the TOC, added a Task (bold) header, enumerated the contents of the window to be created.) |
(→{{header|Go}}: Update for library API changes) |
||
Line 832: | Line 832: | ||
import ( |
import ( |
||
"fmt" |
|||
"github.com/mattn/go-gtk/gtk" |
|||
) |
) |
||
func main() { |
func main() { |
||
gtk.Init(nil) |
|||
window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL) |
|||
window.SetTitle("Click me") |
|||
label := gtk.NewLabel("There have been no clicks yet") |
|||
var clicks int |
|||
button := gtk.NewButtonWithLabel("click me") |
|||
button.Clicked(func() { |
|||
clicks++ |
|||
if clicks == 1 { |
|||
label.SetLabel("Button clicked 1 time") |
|||
} else { |
|||
label.SetLabel(fmt.Sprintf("Button clicked %d times", |
|||
clicks)) |
|||
} |
|||
} |
|||
}) |
|||
vbox := gtk.NewVBox(false, 1) |
|||
vbox.Add(label) |
|||
vbox.Add(button) |
|||
window.Add(vbox) |
|||
window.Connect("destroy", func() { |
|||
gtk.MainQuit() |
|||
}) |
|||
window.ShowAll() |
|||
gtk.Main() |
|||
}</lang> |
}</lang> |
||