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("沒有選擇文件"));
            }
    });

 

效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM