Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍自定义Dialog
组件的常用方法及灵活运用。
在之前的文章中笔者已经为大家展示了默认Dialog
组件的使用方法,虽然内置组件支持对数据的输入,但有时候我们需要一次性输入多个数据,此时如果之使用默认模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,需要说明的是此类对话框也是一种窗体,所以可以在其上面放置任何通用组件,以实现更多复杂的开发需求。
自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过GetValue()
来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体,这两种方式都可以,读者可根据自身需求来选择不同的通信方式。
1.1 使用模态对话框传值
首先我们需要创建一个自定义对话框,在Qt中创建对话框很容易,具体创建流程如下所示:
- 选择项目 -> AddNew -> QT -> Qt设计师界面类 -> 选择DialogWithoutButtons -> 命名为Dialog保存
此时直接点击下一步按钮,并选中Forms/dialog.ui
界面编辑菜单,在编辑栏中我们分别增加一个LineEdit
编辑框,以及两个PushButton
按钮组件,将第一个组件命名为BtnOk
将第二个组件命名为BtnCancel
,界面如下所示;