对话框的创建

本文介绍了Qt中的对话框,主要分为QMessageBox标准对话框和非模态对话框。QMessageBox包括错误、警告、信息和提问等静态成员函数;非模态对话框涉及文件选择、颜色选取和字体设置等操作。
摘要由CSDN通过智能技术生成

对话框的分类

1.分类:Qt对话框分为两种:

第一种是模态对话框,只能对对话框操作,不能对其它界面进行操作,利用的是dialog.exec();阻塞状态

QDialog  dialog(this);
dialog.exec();

第二种是非模态对话框,可以对别的窗口进行操作。

QDialog *dialog2 = new QDialog(this);
dialog2->show();
//设置窗口不被关闭
dialog2->setAttribute(Qt::WA_DeleteOnClose)

QMessageBox 标准对话框

1.属性:弹出是所有对话框都是模态对话框

2.QMessageBox的静态成员函数

参数1 父窗口 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车按键
(1).错误提示critical

connect(ui->actionMessageBox,&QAction::triggered,[=](){
        //1.弹出错误对话框
        QMessageBox::critical(this,"错误","critical");
        });

错误提示
(2).警告提示warning

connect(ui->actionMessageBox,&QAction::triggered,[=](){
        //2.警告对话框
        QMessageBox::warning(this,"警告","FBI warning!");
        });

警告提示
(3).信息提示information

connect(ui->actionMessageBox,&QAction::triggered,[=](){
        //3.弹出信息对话框
        QMessageBox::information(this,"信息","information");
        });

信息提示
(4).提问提示question

connect(ui->actionMessageBox,&QAction::triggered,[=](){
//4.弹出提问对话框
        //参数1   父窗口     参数2     窗口标题    参数3     提示信息    参数4     按键类型
        if(QMessageBox::Save == QMessageBox::question(this,"提问","question",QMessageBox::Save | QMessageBox::Cancel))
        {
            qDebug()<< "点击的是保存";
        }
        else
        {
            qDebug()<<"点击的是取消";
        }
        });

提问提示

其他对话框

1.文件对话框

参数1 父窗口 参数2 标题 参数3 默认打开路径 参数4 过滤后缀名

QString filename = QFileDialog::getOpenFileName(this,"打开文件","E:/","Doc(*.doc *.docx)" );
        qDebug() <<"打开的文件名是:" <<filename.toUtf8().data();

2.颜色对话框

QColor color = QColorDialog::getColor(QColor(255,0,0));
		//打印颜色值
        qDebug() << color.red() << color.green() << color.blue();

3.字体对话框

connect(ui->actionFont,&QAction::triggered,[=](){
         bool ok;//首先定义bool值ok
         QFont font = QFontDialog::getFont(&ok,QFont("宋体",20));
         qDebug() << "字体:"<< font.family().toUtf8().data() << "字号" <<font.weight() << "是否加粗" << font.bold();
     });
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值