zoukankan      html  css  js  c++  java
  • 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("没有选择文件"));
                }
        });

    效果:

  • 相关阅读:
    IT职场中外企面试最爱提的问题
    数据库的最简单实现
    两则故事
    如何提升程序员的“性能”
    那些年看过的电影
    VIM技巧
    独立之精神,自由之思想
    「我只是认真」——聊聊工匠情怀
    在这里,你终究会真正地失败
    公共场所英文译写规范
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7812158.html
Copyright © 2011-2022 走看看