QDialog, QFileDialog 和 QDesktopServices 的使用方法

简介:

Qt中的QDialog类是用来生成对话框的类,QFileDialog 类是QDialog的衍生类,主要用来生成打开文件,或是打开文件目录的对话框,或者是保存文件的对话框,下面我们一一来看代码:

1. Load File Dialog

/**
 * Button event for Load File button
 */
void QtConfigFile::on_pbLoadFile_clicked() {
    QString fileName = QFileDialog::getOpenFileName(this,
        tr("Open Configuration File"), "",
        tr("Configuration File (*.xml);;All Files (*)"));
}

2. Save File Dialog

/**
 * Button event for Save File button
 */
void QtConfigFile::on_pbSaveFile_clicked() {
    QString fileName = QFileDialog::getSaveFileName(this,
        tr("Save Configuration File"), "",
        tr("Configuration File (*.xml);;All Files (*)"));
}

3. Browse Directory Dialog,其中leVideoDir是QLineEdit类的对象名

/**
 * Button event for Video Dir Browse button
 */
void QtConfigFile::on_pbVideoDirBrowse_clicked() {
    QString directory = QFileDialog::getExistingDirectory(this,
        tr("Video Directory"), QDir::currentPath());

    if (!directory.isEmpty()) {
        ui.leVideoDir->setText(directory);
    }
}

QDesktopServices类是针对操作系统的桌面服务应用的类,我们主要用它来打开文件夹:

/**
 * Button event for Show Folder button
 */
void QtConfigFile::on_pbShowFolder_clicked() {
    QDesktopServices::openUrl( QUrl::fromLocalFile( QDir::currentPath() ) );
}

本文转自博客园Grandyang的博客,原文链接:QDialog, QFileDialog 和 QDesktopServices 的使用方法,如需转载请自行联系原博主。

相关文章
WK
|
3月前
|
C++ 开发者
QDialog
QDialog是Qt框架中的对话框基类,支持模态和非模态两种模式。它提供了丰富的函数,如exec()、show()、accept()和reject(),用于控制对话框的行为。QDialog可以包含多种控件,用于收集用户输入或显示信息。此外,Qt还提供了一些常用的标准化对话框,如QColorDialog、QFileDialog、QFontDialog、QInputDialog和QMessageBox,方便开发者快速实现特定功能。
WK
55 2
|
6月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
1118 4
|
9月前
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
398 0
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
|
9月前
|
存储
QT基础入门——QMainWindow与对话框QDialog(三)
QT基础入门——QMainWindow与对话框QDialog(三)
671 0
QT基础入门——QMainWindow与对话框QDialog(三)
21 QT - QLabel控件使用
21 QT - QLabel控件使用
92 0
|
Linux C++ iOS开发
Qt 5——对话框QDialog
Qt 5——对话框QDialog
599 0
|
开发者
Qt之标准对话框(QMessageBox、QFileDialog)
Qt之标准对话框(QMessageBox、QFileDialog)
193 0
|
数据安全/隐私保护
Qt之对话框(QDialog)
Qt之对话框(QDialog)
225 0