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() ) );
}
时间: 2024-10-26 08:54:58

QDialog, QFileDialog 和 QDesktopServices 的使用方法的相关文章

Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法

一.简述 先简单介绍一下模态与非模态对话框. 模态对话框 简单一点讲就是在弹出模态对话框时,除了该对话框整个应用程序窗口都无法接受用户响应,处于等待状态,直到模态对话框被关闭.这时一般需要点击对话框中的确定或者取消等按钮关闭该对话框,程序得到对话框的返回值(即点击了确定还是取消),并根据返回值进行相应的操作,之后将操作权返回给用户.这个时候用户可以点击或者拖动程序其他窗口. 说白了就相当于阻塞同一应用程序中其它可视窗口的输入的对话框,用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用

Qt 设置背景图片3种方法(简单,但值得仔细体会)

方法1. setStylSheet{"QDialog{background-image:url()"}}  //使用styleSheet 这种方法的好处是继承它的dialog都会自动设置背景,例如更换皮肤就是一个不错的选择方法2. QPalette pal; pal.setBrush(QPalette::Background,QBrush(QPixmap("")));            this->setPalette(pal);方法3.在paintEve

Pyqt 打开外部链接的几种方法

Pyqt 触发一个事件,打开外部链接,我找到了这个方法,供大家参考 1. QDesktopServices 的openUrl 方法 1 QtGui.QDesktopServices.openUrl(QtCore.QUrl('http://www.hao123.com')) 2.Python 自带的webbrowser 浏览器控制模块 webbrowser提供了三种方法 1 import webbrowser 2 webbrowser.open(url, new=0, autoraise=True

【Qt学习笔记】窗口部件整理

关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着假期的时间,好好学习.考研之后发现一个问题,无论当初你学的有多明白,总会忘记,最好的方法就是将他们记录下来,甚至写下你当时的心情,如果有一天你需要了,回过头来看看,是一笔不错的财富. 1. QDialog类对话框 1.1 模态和非模态对话框 对于对话框,有模态(modal)和非模态(modeless

qt中如何启动其他应用程序(如果不成功,还有许多原因即QProcess::ProcessError可供分析)

类 QDesktopServices 提供的方法 访问 常用的桌面 服务 , 如 浏览 器 . 播放器. 电子邮件客户端 . 我们 使用 QDesktopServices :: openUrl(url) ,可以根据指定的url 打开Web 浏览 器 , 并返回 结果,如果 成功返回true ,否则 返回false.相应的可以打开文件(夹),可执行程序等! 如果想要启动其他应用程序使用QProcess, 当发生错误时,可以根据 指定 的 错误 描述 所发生 的错误类型 . 描述:在界面启动后,可通

qtablewidget 导出为 excel

在 Qt 5.2 中使用 OLE 将 qtablewidget 导出为 excel,效果如下: 只用了一个函数,大家可以把它粘贴到自己的类里使用. 在头文件中请包含以下文件: #include <QTableWidget> #include <QFileDialog> #include <QDesktopServices> #include <QMessageBox> #include <QAxObject> 参数说明: table: 要导出的

将某个Qt4项目升级到Qt5遇到的问题(13条方法)

本文转载自http://hi.baidu.com/xchinux/item/9044d8ce986accbb0d0a7b87 一.将某个QT4项目改成QT5遇到的问题 该Qt4项目以前是使用Qt4.7.4 MSVC2008开发的,因为使用到了OWC10(Office Web Components),使用MSVC编译器的话无法正常升级到Qt4.8.x和Qt5,于是将编译器转成了MinGW4.7,Qt升级到了4.8.4.今天Qt 5.0.1-MinGW预编译版本发布了,于是就拿它练手,将它升级到Qt

QT4项目升级到QT5遇到的问题和解决方法

QT4升级到QT5改动: PC部分: [改QTDIR变量] 在工程根目录下找到.user文件, 如InnoTabPlugin.vcxproj.user 修改指向你的QT5根目录: <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'"> <QTDIR>C:\qt\Qt5.2.1\5.2.1\msvc2010</QTDIR> </PropertyGro

QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法

QT4升级到QT5修改: PC部分: [改QTDIR变量] 在project根文件夹下找到.user文件, 如InnoTabPlugin.vcxproj.user 改动指向你的QT5根文件夹: <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'"> <QTDIR>C:\qt\Qt5.2.1\5.2.1\msvc2010</QTDIR> </Prop