Go-Qt5开发之显示提示语(6)

Go-Qt5开发之显示提示语

案例说明

创建一个按钮,将鼠标放在按钮上会显示出提示语。

demo.go

package main

import (
	"fmt"
	"github.com/therecipe/qt/gui"
	"github.com/therecipe/qt/widgets"
	"os"
)

// 在下面的例子中我们显示一个提示语

// 控制窗口显示在屏幕中心的方法
func center(app *widgets.QMainWindow) {
	// 获得窗口
	qr := app.FrameGeometry()

	//  获得屏幕中心点
	cp := widgets.NewQDesktopWidget().AvailableGeometry2(app).Center()
	// 显示到屏幕中心
	qr.MoveCenter(cp)
	app.Move(qr.TopLeft())
}

func InitUi() *widgets.QMainWindow {
	// 创建窗口
	app := widgets.NewQMainWindow(nil, 0)

	// 设置窗口的标题
	app.SetWindowTitle("Qt 教程")

	// 设置窗口的位置和大小
	app.SetGeometry2(300, 300, 300, 220)

	// 设置窗口的图标,引用当前目录下的web.png图片
	app.SetWindowIcon(gui.NewQIcon5("images/app.ico"))
	// 提示信息
	app.SetToolTip("This is a <b>QWidget</b> widget")
	// 控制窗口显示在屏幕中心的方法
	center(app)

	// 添加一个按钮
	btn := widgets.NewQPushButton(app)
	// 设置按钮内容
	btn.SetText("关闭按钮")
	// 设置按钮大小
	// btn.SizeHint() 显示默认尺寸
	btn.Resize(btn.SizeHint())
	// 设置按钮位置
	btn.Move2(50, 50)
	// 提示信息
	btn.SetToolTip("This is a <b>QPushButton</b> widget")
	// 设置按钮触发,触发退出程序
	btn.ConnectClicked(func(checked bool) {
		fmt.Println("关闭窗口")
		//app.Close()
	})

	return app
}

func main() {
	// 创建一个应用程序对象
	// sys.argv参数是一个列表,从命令行输入参数
	widgets.NewQApplication(len(os.Args), os.Args)

	// 初始化窗口
	app := InitUi()

	// 显示组件
	app.Show()

	// 确保应用程序干净的退出
	widgets.QApplication_Exec()
}

发布了94 篇原创文章 · 获赞 52 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/weixin_43968923/article/details/105027674