• QT 选择对话框简单示例


    QT 选择对话框简单示例

    部分代码:

        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;
                }
            });

    效果:

    控制台输出:

    确定
    取消 取消

    文件对话框部分代码:

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

    效果:

  • 相关阅读:
    正则表达式入门(3)
    正则表达式入门(2)
    正则表达式入门
    函数的参数传递
    python常用库之random
    插入排序与归并排序
    浅拷贝与深拷贝
    装饰器学习小程序
    Python的“is”与“==”
    Oracle中断中止exp/imp和expdp/impdp数据库导入导出
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7812158.html
Copyright © 2020-2023  润新知