2
我正在使用gotk3(一個爲GTK + 3提供Go綁定的項目)來編寫簡單的GUI應用程序。我想在應用程序中顯示一個菜單欄,但現在它不顯示任何菜單(在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 +,所以幾乎不知道該做什麼或在哪裏尋找。任何提示?
感謝, 安德烈
嘿安德烈,對不起,我不能幫助你正在使用的軟件包,我只是想提出這個替代方案 - 我一直在使用最近的跨平臺用戶界面,取得了巨大的成功(無隸屬關係) - https:/ /github.com/sciter-sdk/go-sciter - 可能值得一看,也使用gtk for mac/nix,但也提供了贏得支持,並附帶數百個示例,並有一個非常有用的論壇 – WebweaverD