QT 选择对话框简单示例

时间:2023-03-09 09:48:56
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;
}
});

效果:

QT 选择对话框简单示例

控制台输出:

确定
取消
取消

文件对话框部分代码:

    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()[];
QMessageBox::information(nullptr, QString::fromLocal8Bit("选择的文件"), QString::fromLocal8Bit("文件路径: ") + path);
}
else
{
QMessageBox::information(nullptr, QString::fromLocal8Bit("选择的文件"), QString::fromLocal8Bit("没有选择文件"));
}
});

效果:

QT 选择对话框简单示例

QT 选择对话框简单示例