Go-Qt5开发之对话框QInputDialog(19)

Go-Qt5开发之对话框QInputDialog

简介

对话框窗口或对话框是现代GUI应用程序最不可或缺的一部分。
一个对话框被定义为两个或两个以上的人之间的谈话。
在计算机应用程序对话框窗口用于“交谈”应用程序。
一个对话框用于输入数据,修改数据,更改应用程序设置等。

案例说明

  • 创建一个按钮,绑定一个事件;
  • 创建一个文本框
  • 点击按钮,弹出一个输入对话框,并将数据传送给文本框

demo.go

package main

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


/*
QInputDialog:
提供了一种简单方便的对话框从用户得到一个值。
输入值可以是字符串,一个数字,或一个项目从一个列表。

这个例子显示一个按钮和一个文本框,用户点击按钮显示一个输入框,用户输入信息会显示在文本框中。
*/

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"))



	// 布局窗口组件载体
	widget := widgets.NewQWidget(app, core.Qt__Widget)
	//widget.SetGeometry(core.NewQRect4(300, 300, 300, 220))
	widget.SetGeometry2(0, 0, 300, 220)
	app.SetCentralWidget(widget)

	btn := widgets.NewQPushButton2("Dialog", app)
	btn.Move2(20, 20)


	le := widgets.NewQLineEdit(app)
	le.Move2(130, 22)

	btn.ConnectClicked(func(checked bool) {
		var flag = false
		input := widgets.NewQInputDialog(widget, 0)

		text := input.GetText(
			widget,
			"Input Dialog",
			"Enter your name:",
			widgets.QLineEdit__Normal,
			"", &flag,0 , 0)
		// 对话框收到的文本消息会显示在文本框中
		if flag {
			le.SetText(text)
		}
	})


	return app
}

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

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

	// 显示组件
	app.Show()

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值