【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框

1.浮动窗口

【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框_第1张图片

代码:

    //制作核心控件:文本编辑框
    QTextEdit* pTextEdit=new QTextEdit;
    //制作浮动控件
    connect(pMenu1,&QMenu::triggered,
            [=](QAction* pAction){
            qDebug()<text()<text()=="浮动控件"){
                QDockWidget* pDockWidget=new QDockWidget;
                QTextEdit* pTextEdit2=new QTextEdit;
                pDockWidget->setWidget(pTextEdit2);
                //添加浮动控件
                this->addDockWidget(Qt::RightDockWidgetArea,pDockWidget);
            }else if(pAction->text()=="核心控件"){
                this->setCentralWidget(pTextEdit);
            }
         }
     );

QTextEdit为文本编辑框

QDockWidget为浮动控件,其中放置了一个QTextEdit文本编辑框

2.模态对话框,非模态对话框,消息框,文件对话框

1.模态对话框:必须处理对话框才可以切换回主界面。

2.非模态对话框:与上相反

3.消息框:也是模态对话框

【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框_第2张图片

4.文件对话框:弹出找文件

【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框_第3张图片

#include "mainwindow.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //创建窗口,交互按键
    setWindowTitle("对话框学习");
    resize(400,400);

    QMenuBar* pMenuBar=menuBar();
    QMenu* pMenu=new QMenu();
    pMenu->setTitle("对话框");
    pMenuBar->addMenu(pMenu);

    QAction* pAction1=new QAction;
    pAction1->setText("模态对话框");
    QAction* pAction2=new QAction;
    pAction2->setText("非模态对话框");
    QAction* pAction3=new QAction;
    pAction3->setText("消息框");
    QAction* pAction4=new QAction;
    pAction4->setText("文件对话框");

    pMenu->addAction(pAction1);
    pMenu->addAction(pAction2);
    pMenu->addAction(pAction3);
    pMenu->addAction(pAction4);

    //实现,模态对话框,非模态对话框,消息框,文件对话框
    connect(pMenu,&QMenu::triggered,
            [=](QAction* action){
            if(action->text()=="模态对话框"){
                qDebug()<<"模态对话框"<setWindowTitle("模态对话框");
                pDialog->exec();//**堵塞就是模态对话框**
            }

            if(action->text()=="非模态对话框"){
                qDebug()<<"非模态对话框"<setWindowTitle("非模态对话框");
                pDialog->show();//**不堵塞就是非模态对话框**
            }

            if(action->text()=="消息框"){
                qDebug()<<"消息框"<text()=="文件对话框"){
                qDebug()<<"文件对话框"<

你可能感兴趣的:(学习)