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 的使用方法,如需转载请自行联系原博主。

相关文章
|
12月前
|
前端开发 数据可视化 C++
Qt 之 QWidget QLabel
Qt 之 QWidget QLabel
92 0
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
Qt (QFileDialog&QColorDialog&QFontDialog) 对话框实战
|
5月前
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
114 0
|
12月前
Qt 之 QDebug,QString
Qt 之 QDebug,QString
65 0
|
5月前
|
存储
QT基础入门——QMainWindow与对话框QDialog(三)
QT基础入门——QMainWindow与对话框QDialog(三)
304 0
QT基础入门——QMainWindow与对话框QDialog(三)
|
5月前
|
存储 自然语言处理 API
QT基础教程(QDebug和QString)
QT基础教程(QDebug和QString)
107 0
|
Linux C++ iOS开发
Qt 5——对话框QDialog
Qt 5——对话框QDialog
567 0
|
数据安全/隐私保护
Qt之对话框(QDialog)
Qt之对话框(QDialog)
196 0
|
开发者
Qt之标准对话框(QMessageBox、QFileDialog)
Qt之标准对话框(QMessageBox、QFileDialog)
152 0
|
数据安全/隐私保护 C++
Qt 5——常用控件(QLable、QLineEdit、)
Qt 5——常用控件(QLable、QLineEdit、)
429 0
Qt 5——常用控件(QLable、QLineEdit、)