Qt5教程: (8) 標准對話框和文件對話框


1. about對話框

包含頭文件

#include <QMessageBox>

添加菜單項

QAction *p3 = pDialog->addAction("關於");

創建about對話框

connect(p3, &QAction::triggered,
            [=]()
            {
                QMessageBox::about(this, "關於", "關於Qt");
            }
            );

運行后點擊菜單欄下的"關於", 彈出"關於"對話框:

2. question對話框

添加菜單項

QAction *p4 = pDialog->addAction("選項");

創建about對話框

connect(p4, &QAction::triggered,
            [=]()
            {
                QMessageBox::question(this, "選擇", "Are you ok?");
            }
            );

運行后點擊菜單欄下的"選項", 彈出"選擇"對話框:

通過返回值觸發相應動作

connect(p4, &QAction::triggered,
            [=]()
            {
                int ret = QMessageBox::question(this, "選擇", "Are you ok?",
                                                QMessageBox::Yes | QMessageBox::No);
                switch (ret)
                {
                case QMessageBox::Yes:
                    qDebug() << "I am ok.";
                    break;
                case QMessageBox::No:
                    qDebug() << "Not so good.";
                    break;
                default:
                    break;
                }
            }
            );

點擊按鈕輸出對應log:

3. 文件對話框

包含頭文件

#include <QFileDialog>

添加菜單項

QAction *p5 = pDialog->addAction("文件對話框");

創建文件對話框

connect(p5, &QAction::triggered,
            [=]()
            {
                QString path = QFileDialog::getOpenFileName(
                            this,
                            "open",  // 對話框標題
                            "../"  //路徑
                            );
                qDebug() << path;
            }
            );

運行后點擊菜單欄下的"文件對話框, 會跳出"open"界面:

任意選擇一個文件打開, 會輸出文件路徑:

添加文件類型選項

QFileDialog::getOpenFileName添加文件類型參數:

QString path = QFileDialog::getOpenFileName(
                            this,
                            "open",  // 對話框標題
                            "../",  //路徑
                            "source(*.cpp *.h);;Text(*.txt);;all(*.*)"
                            );

之后運行, 就可以選擇要打開的類型了:


此文原創禁止轉載,轉載文章請聯系博主並注明來源和出處,謝謝!
作者: Raina_RLN https://www.cnblogs.com/raina/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM