案例说明
- 创建了一个窗口
- 我们创建了一个QTextEdit,并把他设置为窗口的布局
- 创建一个菜单栏,一个工具栏,都拥有一个点击事件。
demo.go
package main
import (
"github.com/therecipe/qt/gui"
"github.com/therecipe/qt/widgets"
"os"
)
func InitUi() *widgets.QMainWindow {
app := widgets.NewQMainWindow(nil, 0)
app.SetWindowTitle("Qt 教程")
app.SetGeometry2(300, 300, 300, 220)
app.SetWindowIcon(gui.NewQIcon5("images/app.ico"))
textEdit := widgets.NewQTextEdit(app)
textEdit.Resize2(300, 200)
app.SetCentralWidget(textEdit)
exitAction := widgets.NewQAction3(gui.NewQIcon5("images/app.ico"), "&Exit", app)
exitAction.SetShortcut(gui.NewQKeySequence2("Ctrl+Q", gui.QKeySequence__NativeText))
exitAction.SetStatusTip("Exit application")
exitAction.ConnectTriggered(func(checked bool) {
app.Close()
})
var actions []*widgets.QAction
actions = append(actions, exitAction)
menubar := app.MenuBar()
fileMenu := menubar.AddMenu2("&File")
fileMenu.AddActions(actions)
toolbar := app.AddToolBar3("Exit")
toolbar.AddActions(actions)
return app
}
func main() {
widgets.NewQApplication(len(os.Args), os.Args)
app := InitUi()
app.Show()
widgets.QApplication_Exec()
}