QT中的選擇對話框

轉載文章:https://www.cnblogs.com/lsgxeva/p/7812158.html

1. 選擇對話框 QMessageBox


部分代碼:

pDialog->addSeparator();
    QAction *pmb2 = pDialog->addAction(QString::fromLocal8Bit("選擇對話框"));
    connect(pmb2, &QAction::triggered,
        [this](){
            QMessageBox * mBox = new QMessageBox(this);
            mBox->setWindowTitle(QString::fromLocal8Bit("中文選擇對話框標題"));
            mBox->setText(QString::fromLocal8Bit("中文選擇對話框內容"));
            mBox->setStandardButtons(QMessageBox::StandardButton::Ok | QMessageBox::StandardButton::Cancel);
            mBox->setButtonText(QMessageBox::StandardButton::Ok, QString::fromLocal8Bit("確定"));
            mBox->setButtonText(QMessageBox::StandardButton::Cancel, QString::fromLocal8Bit("取消"));
            mBox->exec();
            QMessageBox::StandardButton ret = mBox->standardButton(mBox->clickedButton());
            switch (ret)
            {
            case QMessageBox::NoButton:
                qDebug() << QString::fromLocal8Bit("沒有選擇").toStdString().c_str();
                break;
            case QMessageBox::Ok:
                qDebug() << QString::fromLocal8Bit("確定").toStdString().c_str();
                break;
            case QMessageBox::Cancel:
                qDebug() << QString::fromLocal8Bit("取消").toStdString().c_str();
                break;
            default:
                break;
            }
            if (mBox != nullptr)
            {
                delete mBox;
                mBox = nullptr;
            }
        });
image.png

控制臺輸出:

確定
取消
取消

2. 文件對話框部分代碼:QFileDialog

pDialog->addSeparator();
    QAction *pfdalg = pDialog->addAction(QString::fromLocal8Bit("文件對話框"));
    connect(pfdalg, &QAction::triggered,
        [this](){
            QFileDialog * fileDialog = new QFileDialog(this);
            //fileDialog->setDirectory("E:\\");
            fileDialog->setWindowTitle(QString::fromLocal8Bit("選擇文件"));
            fileDialog->setNameFilter(QString::fromLocal8Bit("All C++ files (*.cpp *.cc *.C *.cxx *.c++ *.txt *.png)"));
            if ( fileDialog->exec() == QDialog::DialogCode::Accepted )
            {
                QString path = fileDialog->selectedFiles()[0];
                QMessageBox::information(nullptr, QString::fromLocal8Bit("選擇的文件"), QString::fromLocal8Bit("文件路徑: ") + path);
            }
            else
            {
                QMessageBox::information(nullptr, QString::fromLocal8Bit("選擇的文件"), QString::fromLocal8Bit("沒有選擇文件"));
            }
    });

效果:

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,893評論 25 709
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,945評論 2 59
  • 青島人民路第二小學五年級三班的部分孩子與家長利用休息日到華夏眼科醫(yī)院體驗小醫(yī)生。首先是進行簽到穿小醫(yī)生衣服,...
    趙海麗閱讀 676評論 0 0
  • 良辰秋雨繁,陌上草未干。 有心尋君去,無端總被絆。 家事君莫傷,人去不復返。 寄語同君在,與爾渡風寒。
    佛笑來人閱讀 197評論 0 0
  • 隨著《鐵拳7》的發(fā)布,國內媒體也紛紛展開了評測工作,給出了評分。各家國內媒體給出的分數(shù)都不錯。其中,游民星空更是給...
    VGFav閱讀 314評論 0 0

友情鏈接更多精彩內容