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("没有选择文件"));
            }
    });

效果:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,507评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,519评论 2 59
  • 青岛人民路第二小学五年级三班的部分孩子与家长利用休息日到华夏眼科医院体验小医生。首先是进行签到穿小医生衣服,...
    赵海丽阅读 3,793评论 0 0
  • 良辰秋雨繁,陌上草未干。 有心寻君去,无端总被绊。 家事君莫伤,人去不复返。 寄语同君在,与尔渡风寒。
    佛笑来人阅读 1,369评论 0 0
  • 随着《铁拳7》的发布,国内媒体也纷纷展开了评测工作,给出了评分。各家国内媒体给出的分数都不错。其中,游民星空更是给...
    VGFav阅读 1,891评论 0 0

友情链接更多精彩内容