QT学习笔记-对话框

QT学习笔记-对话框

简单使用

点击新建按钮,弹出一个对话框

  • 模态对话框 不可以对其他窗口进行操作
  • 非模态对话框 可以对其他窗口进行操作 需要创建到堆区

创建模态对话框

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 添加图标
    ui->actionnew->setIcon(QIcon(":/background.jpg"));

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

        // 创建模态对话框 阻塞对话框
            QDialog dlg(this);
            dlg.exec();
            qDebug()<<"模态对话框弹出来";
    });
}

MainWindow::~MainWindow()
{
    delete ui;
}



创建非模态对话框

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 添加图标
    ui->actionnew->setIcon(QIcon(":/background.jpg"));

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

        // 创建模态对话框 阻塞对话框
//            QDialog dlg(this);
//            dlg.exec();
//            qDebug()<<"模态对话框弹出来";

        // 创建非模态对话框
        QDialog *dlg2 = new QDialog(this);
        dlg2->show();
    });
}

MainWindow::~MainWindow()
{
    delete ui;
}



消息对话框

都是静态成员函数进行调用

// 错误对话框
QMessageBox::critical(this,"dchjksa","错误");

// 信息对话框
    QMessageBox::information(this,"dhsaijdchas","信息");

你可能感兴趣的:(#,Qt,C++,qt,学习,笔记)