QT界面之美——对话框

    xiaoxiao2021-03-25  73

    #include "mainwindow.h" #include <QMenu> #include <QMenuBar> #include <Qaction> #include <QDialog> #include <QDebug> #include <QMessageBox> #include <QFileDialog> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QMenuBar *mBar=new QMenuBar(); setMenuBar(mBar); QMenu* menu=mBar->addMenu("对话框"); QAction* p1=menu->addAction("模态对话框"); QAction* p2=menu->addAction("非模态对话框"); connect(p1,&QAction::triggered, [=]() { QDialog dlg; dlg.exec(); qDebug()<<"haha"; }); connect(p2,&QAction::triggered, [=]() { /*QDialog dlg; dlg.show();*/ QDialog *p =new QDialog(this);//按下会创建 多次按键会多次创建 程序结束的时候释放 p->setAttribute(Qt::WA_DeleteOnClose);//加了这一条窗口关闭的时候释放 p->show(); qDebug()<<"haha"; }); QAction* p3=menu->addAction("关于对话框"); connect(p3,&QAction::triggered, [=]() { QMessageBox::about(this,"about","关于"); }); QAction* p4=menu->addAction("关于问题框"); connect(p4,&QAction::triggered, [=]() { int ret=QMessageBox::question(this,"question", "Are you OK?",QMessageBox::Ok|QMessageBox::Cancel); switch(ret) { case QMessageBox::Ok: qDebug()<<"I am OK"; break; case QMessageBox::No: qDebug()<<"I am No"; break; } }); QAction* p5=menu->addAction("文件对话框"); connect(p5,&QAction::triggered, [=]() { //返回值是一个字符串 //第一个参数是指定父对象 //第二个参数是标题 //第三个参数是路径 QString path=QFileDialog::getOpenFileName(this,"open","../", "souce(*.cpp *.h);;Text(*.txt);;all(*.*)");//打开文件 qDebug()<<path; } ); } MainWindow::~MainWindow() { }
    转载请注明原文地址: https://ju.6miu.com/read-35232.html

    最新回复(0)