QT - Day 3

  1. 对话框
    • 分类
      • 模态对话框
        QDialog dlg(this);
        dlg.resize(200,100);
        dlg.exec();  //窗口阻塞
      • 非模态对话框
        QDialog *dlg2 = new QDialog; //防止一闪而过,创建到堆区
        dlg2->resize(200,100);
        dlg2->show();
        dlg2->setAttribute(Qt::WA_DeleteOnClose); //自动销毁内存,防止内存泄漏
    • 标准对话框 - 消息对话框
      • QMessageBox  静态成员函数  创建对话框
      • 错误、信息、提问、警告
      • 只需要注意提问的最后一个参数是关联回车键的即可
      • 返回值是StandardButton类型,可以用它来反馈用户的选择
    • 代码
          //点击新建按钮  弹出一个对话框
          connect(ui->actionNew, &QAction::triggered,[=](){
          //对话框 分类
          //模态对话框  非模态对话框
          //模态创建
          QDialog dlg(this);
          dlg.resize(200,100);
          dlg.exec();
          //非模态对话框
          QDialog *dlg2 = new QDialog;
          dlg2->resize(200,100);
          dlg2->show();
          dlg2->setAttribute(Qt::WA_DeleteOnClose);
      
           //消息对话框
           //错误对话框
           QMessageBox::critical(this,"critical","错误");
      
           //信息对话框
           QMessageBox::information(this,"info","信息");
      
           //问题对话框   最后一个参数是关联回车键的选项
           if(QMessageBox::question(this,"question","提问",QMessageBox::Save | QMessageBox::Cancel,QMessageBox::Cancel))
            {
               qDebug()<<"选择的是保存";
           }
           else
           {
               qDebug()<<"选择的是取消";
           }
      
           //警告对话框
           QMessageBox::warning(this,"warning","警告");
      
          });

 

               其他标准对话框=》 颜色对话框 ,文件对话框 ,字体对话框

     //其他标准对话框
     //颜色对话框
     QColor color = QColorDialog::getColor(QColor(255,0,0));
     qDebug()<<"r = "<<color.red()<<"g = "<<color.green()<<"b = "<<color.blue();

     //文件对话框
     //文件对话框 参数1 父亲  参数2  标题  参数3  默认打开路径  参数4  过滤文件格式
     QString str = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\Strive Sun\\Desktop","(*.txt)");
     qDebug()<<str;

     //字体对话框
     bool flag;
     QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
     qDebug()<<"字号"<<font.family().toUtf8().data()<<"字号: "<<font.pointSize()<<"是否加粗:"<<font.bold()<<"是否倾斜:"<<font.italic();

 

posted @ 2021-03-17 23:35  strive-sun  阅读(51)  评论(0编辑  收藏  举报