模式对话框
来源:互联网 发布:崩坏3矩阵难度 编辑:程序博客网 时间:2024/06/03 22:50
对话框是用来提醒用户输入,分为模式对话框和非模式对话框;
模式对话框弹出后,之前的窗口被锁定,只有关闭对话框后,才能回到之前界面;(比较常见)
非模式对话框则可以同时操作前后两个窗口;
为了演示模式对话框,首先创建两个窗口,一个为带有登陆按钮的窗口,另一个是登陆界面如图:
第一个窗口的创建很简答,之前已经学习过,通过连接PushButton的信号与槽,建立联系;
重点在第二个窗口的创建,这个也是新学到的内容,右键点击解决方案,选择添加QT类,出现如下对话框,选择GUI类,进入下一个对话框
重命名,并且把父类改为QDialog,创建完成后,解决方案中会增加新的ui以及对应的头文件和cpp文件。此时可以创建第二个对话框,并设置属性。同时建立按钮的关联。
Qt7_1A.cpp
#include "Qt7_1A.h"#include"LoginDlg.h" // 引用LoginDlg头文件#include<QDebug> // 打印输出Qt7_1A::Qt7_1A(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); // 连接登陆按钮的信号与槽 connect(ui.btnLogin,SIGNAL(clicked()), this, SLOT(OnBtnLogin()));}int Qt7_1A::OnBtnLogin() // 点击登陆按钮后,进入当前函数{ // 使用对话框 LoginDlg dlg(this); // 这里exce()函数要有一个返回值,要不然程序会堵塞 int ret = dlg.exec(); // exec()函数就是执行命令,弹出对话框 if (ret == QDialog::Accepted) { //取得用户输入 qDebug() << dlg.m_user << dlg.m_password; } else { } return 0;}
LoginDlg.cpp
#include "LoginDlg.h"LoginDlg::LoginDlg(QWidget *parent) : QDialog(parent){ ui.setupUi(this); connect(ui.BtnOK, SIGNAL(clicked()), this, SLOT(OnBtnOK())); connect(ui.BtnCancel, SIGNAL(clicked()), this, SLOT(OnBtnCancel()));}LoginDlg::~LoginDlg(){}int LoginDlg::OnBtnOK(){ //取得用户的输入 m_user = ui.EditUser->text(); m_password = ui.EditPassword->text(); accept(); // 关闭当前对话框,并使exce()函数返回Accepted return 0;}int LoginDlg::OnBtnCancel(){ reject(); return 0;}
阅读全文
0 0
- 模式对话框。。
- 模式对话框
- 模式对话框
- 模式对话框
- 模式对话框
- winform模式对话框和非模式对话框
- 让非模式对话框模拟模式对话框
- 论模式对话框与非模式对话框
- 有模式对话框和无模式对话框
- 模式对话框与非模式对话框
- 模式对话框与无模式对话框
- 模式对话框和非模式对话框MFC
- 模式对话框与非模式对话框
- 模式对话框和无模式对话框 区别
- 模式对话框与非模式对话框
- MFC模式对话框与非模式对话框
- 模式对话框与非模式的对话框
- Qt模式对话框与非模式对话框
- 并查集的使用(1)
- 算法:根据一个开关确定一百人是否都进入过房间
- Linux关机重启命令
- Python3中urllib.request.retrieve的使用
- java高并发--线程状态和创建线程
- 模式对话框
- 项目详细方案简洁、美观的写法
- Ubuntu系统开关笔记本触摸屏
- CSS3 新增功能
- 揭秘:利用人性操作挂机赚钱的骗局
- 我要开始学Python!!!!
- 关于DI
- 搭建博客papery
- Verilog HDL 数据类型的选择