2
私は簡単なGUIアプリケーションを書くためにgotk3(GTK + 3のGoバインディングを提供するプロジェクト)を使用しています。アプリケーションにメニューバーを表示したいのですが、今はメニューが表示されません(MacOSXとLinuxの両方でテストされています)。これはコードです:gotk3アプリケーションでメニューバーを作成できません
package main
import (
"github.com/gotk3/gotk3/gtk"
"log"
)
func main() {
gtk.Init(nil)
// creates window
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetDefaultSize(800, 600)
win.Connect("destroy", func() {
gtk.MainQuit()
})
// creates grid and label
grid, err := gtk.GridNew()
if err != nil {
log.Fatal("Unable to create grid:", err)
}
label, _ := gtk.LabelNew("Hello, gotk3!")
grid.Add(label)
// creates menu
menuBar, err := gtk.MenuBarNew()
if err != nil {
log.Fatal("Unable to create menubar:", err)
}
menu, err := gtk.MenuNew()
if err != nil {
log.Fatal("Unable to create menu:", err)
}
menu.SetName("File")
menuItem, err := gtk.MenuItemNewWithLabel("Open")
if err != nil {
log.Fatal("Unable to create menuitem:", err)
}
menu.Append(menuItem)
// attaches menubar to grid
grid.Attach(menuBar, 0, 0, 200, 200)
// shows window
win.Add(grid)
win.ShowAll()
gtk.Main()
}
それは私がAttach()
はこれを行うための右の関数であることを考えていない動作しませんので。私はGTK +で作業したことがないので、何をやるべきか、どこを見ていくのかはほとんど分かりません。何かヒント?
おかげで、 アンドレア
申し訳ありません使用しているパッケージを手伝ってもらえませんでしたが、私はちょうどこれを代替案として提案したかったのです - 最近、クロスプラットフォームのuiを大成功(アフィリエイトなし) - https: /github.com/sciter-sdk/go-sciter - 一見の価値があるかもしれませんし、gtkをmac/nixに使用するだけでなく、勝利のサポートを提供し、何百もの例があり、非常に有益なフォーラムを持っています – WebweaverD