对话框的创建——Qt

  • 模态对话框 :在该对话框打开的时候,不可以对其他窗口进行操作
  • 非模态对话框 :在该对话框打开的时候,可以对其他窗口进行操作

新建按钮,弹出对话框

模式对话框

在这里插入图片描述

    ui->setupUi(this);

    // 新建按钮弹出对话框
    connect(ui->action,&QAction::triggered,[=](){
            // 创建一个模态对话框
        QDialog dlg(this);

        dlg.exec();
			// 点击完弹出对话框的×之后,控制台才会显示下一个条输出语句
        qDebug() << "模态对话框弹出";
        
       });     

在这里插入图片描述

非模态对话框

   // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
   
    //非模态对话框
    QDialog dlg2(this);
    //设置对话框大小
    dlg2.resize(200,100);
    dlg2.show();

    qDebug() << "模态对话框弹出";
    
    });

新建的对话框在栈区,点击后显示一下就会消失,可以放在堆上

    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){

    //非模态对话框
    QDialog * dlg2 = new QDialog(this);
    //设置对话框大小
    dlg2->resize(200,100);
    dlg2->show();

    qDebug() << "模态对话框弹出";
    });

运行结果:
在这里插入图片描述


消息对话框

错误提示对话框

  • 关键词:critical
  • 头文件:#include <QMessageBox>
	ui->setupUi(this);

    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
    // 消息对话框
       QMessageBox::critical(this,"critical","错误");
    });

运行结果:
在这里插入图片描述

信息对话框

    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       // 信息对话框
       QMessageBox::question(this,"info","信息");
    });

在这里插入图片描述

提问对话框

    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       //提问对话框
       QMessageBox::question(this,"ques","提问");
    });

结果:
在这里插入图片描述

警告对话框

    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       //警告对话框
       QMessageBox::warning(this,"warning","警告");
    });

在这里插入图片描述


其他标准对话框

颜色对话框

  • 关键词:QColorDialog
  • 需要添加头文件:#include <QColorDialog>
    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       //颜色对话框
       QColorDialog::getColor(255,0,0);
    });

在这里插入图片描述也可以返回选中颜色的rbg值

    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
//       //颜色对话框
       QColor co = QColorDialog::getColor(255,0,0);
       qDebug() << "r=" << co.red()<< "g=" << co.green()<< "b=" << co.blue();
    });

在这里插入图片描述随便选中一个颜色后,点击ok控制台会输出:
在这里插入图片描述

文件对话框

  • 关键词:QFileDialog
  • 需要添加头文件:#include <QFileDialog>
    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       //文件对话框
       QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\27788\\Desktop");
    });

在这里插入图片描述

字体对话框

  • 关键字:QFontDialog
  • 需要添加头文件:#include <QFontDialog>
    ui->setupUi(this);
    // 新建按钮弹出对话框
   connect(ui->action,&QAction::triggered,[=](){
       //字体对话框
       bool flag;
       QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
       qDebug() <<"字体:"<<font.family()<<"字号"<<font.pointSize() <<"是否加粗" << font.bold() << "是否倾斜"<<font.italic();     
    });

在这里插入图片描述选中一个点击OK,控制台会输出
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值