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

    效果:

  • 相关阅读:
    关于Java 拷贝数组方法 Arrays.copyOf() 是地址传递还是值传递
    n皇后问题
    子集
    排列
    矩阵翻转
    删除集合元素的方法
    Java最大值与最小值
    Spring Security +Oauth2 +Spring boot 动态定义权限
    VirtualBox Centos7虚拟机集群配置
    VirtualBox使用Centos7与主机共享文件夹
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7812158.html
Copyright © 2020-2023  润新知