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

 

效果:

 

posted @   lsgxeva  阅读(6938)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示